Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Edwin Rodrguez
Noviembre 20, 2017.
1. AAA
Ajusta el Resultado en AX luego de una suma a valores BCD. Ocupa 1 Byte
2. AAD
Ajusta los valores dentro del registro en BCD preparndolos para la divisin en HEX. Ocupa 1
Byte
3. AAM
Ajusta los valores del registro luego de una multiplicacin dejando en AH las decenas y en AL
las unidades. Ocupa 2 Bytes de memoria
4. AAS
Corrije los valores luego de una resta cuando el registro presenta overflow para nmeros
negativos al trabajar con BCD. Ocupa 1 Byte de memoria
5. ADC
Suma adicionando la bandera de Carry CF. Ocupa 2 Bytes de memoria
6. ADD
Suma 2 operandos y los almacena en el primer argumento de la funcin. Ocupa 2 Bytes de
memoria
7. AND
Representa y opera como la operacin lgica AND entre 2 operandos, almacenando el resultado
en el primero de ellos. Ocupa 2 Bytes de memoria
8. CALL
Hace el llamado a otro procedimiento dejando en pila el puntero de cdigo IP. Ocupa 3Bytes de
memoria
9. CBW
Convierte un valor HEX (Byte) del registro a un dato tipo palabra. Ocupa 1 Byte de memoria
10. CLC
Limpia el valor asignado a la bandera de Carry CF. Ocupa 1 Byte de memoria
11. CLD
Limpia banderas de direccin. Los punteros SI y DI sern incrementados tambin por las
instrucciones de cadena. Ocupa 1 Byte de memoria
12. CLI
Limpia la bandera de interrupciones, deshabilitando interrupciones de hardware. Ocupa 1 Byte de
memoria
13. CMC
Invierte el valor actual de la bandera de Carry. Ocupa 1 Byte de memoria
14. CMP
Compara 2 operandos, estableciendo las banderas OF, SF, ZF, AF, PF, CF, segn el resultado.
Ocupa 2 Bytes de memoria
15. CMPSB
Compara Bytes de los operandos ES y DS y establece las banderas OF, SF, ZF, AF, PF, CF,
segn el resultado. Ocupa 1 Byte de memoria
16. CMPSW
Compara las palabras de los operandos ES y DS y establece las banderas OF, SF, ZF, AF, PF,
CF, segn el resultado. Ocupa 1 Byte de memoria
17. CWD
Convierte un dato de tipo WORD a un Double Word. Ocupa 1 Byte de memoria
18. DAA
Ajuste decimal luego de la adicin. En lugar de establecer en AH el valor de la decena y en AL
la unidad, ajusta en AL todo el numero. Ocupa 1 Byte de memoria
19. DAS
Ajuste decimal luego de la sustraccin. En lugar de establecer en AH el valor de la decena y en
AL la unidad, ajusta en AL todo el nmero. Ocupa 1 Byte de memoria
20. DEC
Decrementa en 1 el operando presente. Ocupa 1Byte de memoria
21. DIV
Divide 2 valores sin signo, el nico operando que se ingresa con AL. Ocupa 2 Bytes de memoria
22. HLT
Detiene el sistema y con l la ejecucin del programa. Ocupa 1 Byte de memoria
23. IDIV.
Realiza la divisin entre 2 valores con signo guardando en AL el cociente y en AH el residuo.
Ocupa 2 Bytes de memoria
24. IMUL
Realiza la multiplicacion entre 2 valores con signo guardando en AX el resultado. Ocupa 2 Bytes
de memoria. Ocupa 2 Bytes de memoria
25. IN
Guarda una entrada en AL o AX por el puerto indicado. Ocupa 2 Bytes de memoria.
26. INC
Incrementa el operando en 1. Ocupa 1 Byte de memoria.
27. INT
Hace el llamado a la interrupcin numerada de 0 a 255. Ocupa 2 Bytes de memoria
28. INTO
Hace el llamado a la interrupcin 4 en caso de presentarse un overflow. Ocupa 1 Byte de memoria.
29. IRET
Retorno por Interrupcin. Realiza un POP a las banderas de registro, IP y CS. Ocupa 1 Byte de
memoria
30. JA
Realiza un salto si luego de la operacin CMP el primer operando fue mayor al segundo. Ocupa 2
Bytes de memoria
31. JAE
Realiza un salto si luego de la operacin CMP el primer operando fue mayor o igual al segundo.
Ocupa 2 Bytes de memoria
32. JB
Realiza un salto si luego de la operacin CMP el primer operando fue menor al segundo. Ocupa 2
Bytes de memoria
33. JBE
Realiza un salto si luego de la operacin CMP el primer operando fue menor o igual al segundo.
Ocupa 2 Bytes de memoria
34. JC
Realiza un salto si la bandera de carry es 1. Ocupa 2 Bytes de memoria
35. JCXZ
Realiza un salto si el registro CX es 0. Ocupa 2 Bytes de memoria.
36. JE
Realiza un salto si luego de la operacin CMP el primer operando fue igual al segundo. Ocupa 2
Bytes de memoria
37. JG
Realiza un salto si luego de la operacin CMP el primer operando fue mayor al segundo. Ocupa 2
Bytes de memoria
38. JGE
Realiza un salto si luego de la operacin CMP el primer operando fue mayor o igual al segundo.
Ocupa 2 Bytes de memoria
39. JL
Realiza un salto si luego de la operacin CMP el primer operando fue menor al segundo. Ocupa 2
Bytes de memoria
40. JLE
Realiza un salto si luego de la operacin CMP el primer operando fue menor o igual al segundo.
Ocupa 2 Bytes de memoria
41. JMP
Realiza un salto sin necesitar de ninguna condicin que se cumpla. Ocupa 2 Bytes de memoria
42. JNA
Realiza un salto si luego de la operacin CMP el primer operando no estaba sobre el segundo.
Ocupa 2 Bytes de memoria
43. JNAE
Realiza un salto si luego de la operacin CMP el primer operando no estaba sobre ni era igual al
segundo. Ocupa 2 Bytes de memoria
44. JNB
Realiza un salto si luego de la operacin CMP el primer operando no era menor al segundo. Ocupa
2 Bytes de memoria
45. JNBE
Realiza un salto si luego de la operacin CMP el primer operando no era menor ni igual al segundo.
Ocupa 2 Bytes de memoria
46. JNC
Realiza un salto si la bandera de carry no es 1. Ocupa 2 Bytes de memoria
47. JNE
Realiza un salto si luego de la operacin CMP el primer operando no es igual al segundo. Ocupa
2 Bytes de memoria
48. JNG
Realiza un salto si luego de la operacin CMP el primer operando no es mayor al segundo. Ocupa
2 Bytes de memoria
49. JNGE
Realiza un salto si luego de la operacin CMP el primer operando no es mayor ni igual al segundo.
Ocupa 2 Bytes de memoria
50. JNL
Realiza un salto si luego de la operacin CMP el primer operando no es menor al segundo. Ocupa
2 Bytes de memoria
51. JNLE
Realiza un salto si luego de la operacin CMP el primer operando no es menor ni igual al segundo.
Ocupa 2 Bytes de memoria
52. JNO
Si no existe overflow, entonces se realiza un salto. Ocupa 2Bytes
53. JNP
Realiza un salto si es que el numero no es par segn las instrucciones CMP, SUB, ADD, TEST,
AND, OR, XOR. Ocupa 2 Bytes
54. JNS
Realiza un salto si es que el numero no tiene signo segn las instrucciones CMP, SUB, ADD,
TEST, AND, OR, XOR. Ocupa 2 Bytes
55. JNZ
Realiza un salto si es que el numero no es igual a otro operador segn las instrucciones CMP, SUB,
ADD, TEST, AND, OR, XOR. Ocupa 2 Bytes
56. JO
Realiza un salto si se presenta un overflow en la memoria. Ocupa 2 Bytes
57. JP
Realiza un salto si es que el numero es par segn las instrucciones CMP, SUB, ADD, TEST, AND,
OR, XOR. Ocupa 2 Bytes
58. JPE
Realiza un salto si es que el numero es par segn las instrucciones CMP, SUB, ADD, TEST, AND,
OR, XOR. Ocupa 2 Bytes
59. JPO
Realiza un salto si es que el numero es impar segn las instrucciones CMP, SUB, ADD, TEST,
AND, OR, XOR. Ocupa 2 Bytes
60. JS
Realiza un salto si es que el numero es negativo, o tiene signo segn las instrucciones CMP, SUB,
ADD, TEST, AND, OR, XOR. Ocupa 2 Bytes
61. JZ
Realiza un salto si es que el numero es cero segn las instrucciones CMP, SUB, ADD, TEST,
AND, OR, XOR. Ocupa 2 Bytes
62. LAH
Carga a AH con el nero de bits de banderas de registro activas. Ocupa 1 Byte.
63. LDS
Carga un dato WORD Doble en el registro indicado y en DS. Ocupa 4 Bytes
64. LEA
Carga una direccin efectiva. Ocupa 3 Bytes en memoria.
65. LES
Carga un dato WORD Doble en el registro indicado y en ES. Ocupa 4 Bytes
66. LODSB
Carga el byte de DS en AL y actualiza el SI. Ocupa 1 Byte en memoria
67. LODSW
Carga el valor de un Word de DS en AX y actualiza el SI. Ocupa 1 Byte en memoria
68. LOOP
Decrementa CX y salta a dicho segmento de cdigo si CX no es 0 an. Ocupa 2 Bytes
.
69. LOOPE
Decrementa CX y salta a dicho segmento de cdigo si CX hasta ser 0 y la bandera de cero se iguale
a 1. Ocupa 2 Bytes
70. LOOPNE
Decrementa CX y salta a dicho segmento de cdigo si CX hasta ser 0 y la bandera de cero se iguale
a 0. Ocupa 2 Bytes
71. LOOPNZ
Decrementa CX y salta a dicho segmento de cdigo para CX hasta ser 0 y la bandera de cero se
iguale a 0. Ocupa 2 Bytes
72. LOOPZ
Decrementa CX y salta a dicho segmento de cdigo para CX hasta ser 0 y la bandera de cero se
iguale a 1. Ocupa 2 Bytes
73. MOV
Escribe y guarda un valor determinado en el registro indicado. Ocupa 3 Bytes
74. MOVSB
Esccribe el valor de SD en ES. Ocupa 1 Byte
75. MOVSW
Escribe el valor de un dato WORD de SD en ES. Ocupa 1 Byte en memoria
76. MUL
Realiza la multiplicacin de un dato con el valor en AL. Ocupa 2 Bytes
77. NEG
Ocupa el complemento a 2 para convertir un nmero a negativo. Ocupa 2 Bytes
78. NOP
No realiza ninguna Operacin. Ocupa 1 Byte en memoria
79. NOT
Similar a la operacin lgica NOT, invierte cada bit de la palabra en el registro. Ocupa 3 Bytes
80. OR
Similar a la operacin lgica OR entre 2 operandos. Ocupa 2 Bytes
81. OUT
Enva a un puerto de salida los datos en AL o AX. Ocupa 2 Bytes de memoria
82. POP
Mueve al registro indicado el valor en el stack con el indicador actual. Ocupa 1 Byte en memoria
83. POPA
Obtiene y escribe todos los valores de los registros DI, SI, BP, SP, BX, DX, CX, AX con los
presentes en la pila. Ocupa 1 Byte
84. POPF
Obtiene las banderas de registro de la pila. Ocupa 1 Byte en memoria.
85. PUSH.
Guarda el dato de 16 bits de la direccin indicada en la pila. Ocupa 1 Byte de memoria
86. PUSHA
Guarda todos los valores de los registros DI, SI, BP, SP, BX, DX, CX, AX presentes, en la pila.
Ocupa 1 Byte
87. PUSHF
Guarda las banderas de registro en la pila. Ocupa 1 Byte en memoria.
88. RCL
Rota el operando 1 a la izquierda mediante la bandera de carry. El numero de rotaciones est dado
por el operando 2. Ocupa 2Bytes
89. RCR
Rota el operando 1 a la derecha segun la bandera de carry. El numero de rotaciones est dado por
el operando 2. Ocupa 2 Bytes
90. REP
Repite las siguientes instrucciones de MOVSB, MOVSW, LODSB, LODSW, STOSB, STOSW
el nmero de veces indicadas en CX. Ocupa 1 Byte de memoria
91. REPE
Repite las siguientes instrucciones de MOVSB, MOVSW, LODSB, LODSW, STOSB, STOSW
el nmero maximo de veces indicadas en CX mientras ZF sea igual a 1. Ocupa 1 Byte de memoria
92. REPNE
Repite las siguientes instrucciones de MOVSB, MOVSW, LODSB, LODSW, STOSB, STOSW
el nmero maximo de veces indicadas en CX mientras ZF sea igual a 0. Ocupa 1 Byte de memoria
93. REPNZ
Repite las siguientes instrucciones de MOVSB, MOVSW, LODSB, LODSW, STOSB, STOSW
el nmero maximo de veces indicadas en CX mientras ZF sea igual a 0. Ocupa 1 Byte de memoria
94. REPZ
Repite las siguientes instrucciones de MOVSB, MOVSW, LODSB, LODSW, STOSB, STOSW
el nmero maximo de veces indicadas en CX mientras ZF sea igual a 1. Ocupa 1 Byte de memoria
95. RET
Retorna de un procedimiento. Ocupa 1 Byte de memoria
96. RETF
Retorna de un procedimiento mas alejado. Ocupa 1 Byte de memoria
97. ROL
Rota un operando a la izquierda el numero que indique el segundo operando. Ocupa 2 Bytes de
memoria
98. ROR
Rota un operando a la derecha el numero que indique el segundo operando. Ocupa 2 Bytes de
memoria
99. SAHF
Almacena en AH un valor indicado por el numero de bits de las banderas de registro.