Instrucciones:
Mnemónico Explicación
AAA
Adjust ASCII after Addition, ajuste ASCII despu‚s de sumar.
Esta instrucción se emplea tras sumar dos números BCD no
empaquetados de dos dígitos con ADD AX,reg/mem. Comprueba si
el contenido de AL supera a nueve, y realiza si es cierto una
operación que consiste en restar 10 de AL. AH se incrementa
si AL fue superior a 9.
ADD
Suma al operando destino el operando origen, almacenando
en el operando destino el resultado.
AAM
Ajusta ASCII despu‚s de multiplicar
Convierte el número binario de 8 bits en AL en un número
BCD no empaquetado de dos dígitos en AX. AL debe ser menor
que 100 para que el ajuste proporcione un número v lido.
AAS
Ajusta ASCII despu‚s de restar
Se emplea despu‚s de restar dos números BCD no empaquetados
con SUB AX,reg/mem. Comrpueba si AL es mayor a 9, y si lo
es, suma 10 a AL. Si se realiza ajuste, el flag de acarreo
se activa.
ADC
Add With Carry, suma los dos operandos y el flag de
acarreo, almacenando en el operando destino el resultado
de la suma
ADD
ADDition, ‚sta instrucción suma los dos operandos y
almacena el resultado en el de destino.
AND
Realiza un AND lógico entre los dos operandos de la
instrucción, almacenando el resultado en el de destino.
CALL
Empuja IP y CS a la pila, y salta a la dirección que
indica su operando.
CBW
Convert Byte to Word, copia el bit de mayor peso de AH en
cada uno de los de AL
CLC
Clear Carry Flag, pone el flag de acarreo a cero.
CLD
Clear Direction Flag, pone a cero el flag de acarreo.
CLI
Clear Interrupts, pone e flag de interrupción a cero, con
lo que no se podr n hacer llamadas a ‚stas hasta llegar a
un STI ( Set Interrupts )
CMC
CoMplement Carry flag, invierte el contenido del flag de
acarreo.
CMP
Resta el operando origen del destino, tan sólo que no
almacena el resultado, si actualiz ndose sin embargo los
flags.
CMPS
Comparar cadena, puede usarse sin operandos, en cuyo caso
tendr que ser CMPSB o CMPSW ( Byte o Word ), o con ellos.
Los elementos a comparar est n apuntados por ES:DI y DS:DI
CWD
Convert Word to Double Word, lo que har ser copiar el
signo de AX, o sea, su byte m s significativo, en DX.
DAA
Decimal Adjust AL after Adittion, se emplea tras sumar dos
números BCD empaquetados de dos dígitos con ADD AL,reg/mem.
Verifica si el flag de acarreo auxiliar est a 1 o el
contenido de los cuatro bits menos significativos de AL
es mayor que 9, en cuyo caso se suma 6 a AL. Tras ‚sto,
comprueba si el flag de acarreo est activado o el contenido
de los 4 bits m s significativos es mayor que 9, en cuyo
caso se suma 60h a AL. El flag de acarreo se activa si se
ha realizado la segunda operación, y el de acarreo auxiliar
si se realizó la primera.
DEC
Utiliza un operando, al que decrementa en una unidad.
DIV
Divide el acumulador entre el operando, dejando cociente
y resto. El acumulador ser AX en caso de división de 16
bits y DX-AX en caso de 32 bits, quedando cociente y resto
en AL-AH y AX-DX respectivamente.
ESC
ESCape
Sirve para pasar el control del procesador al copro
HLT
Bloquea el ordenador.
IDIV
División para números con signo
IMUL
Multiplicación para números con signo.
IN
INput from port, lee un byte del puerto que especifica el
operando origen y lo almacena en AL. Si el operando destino
es AX, almacena un segundo byte en AH ( el operando destino
sólo puede ser AX o AL, y el origen DX o un número )
INC
Incrementa el operando en un byte, sin modificar el estado
de los flags.
INT
Llama a la interrupción del operando ( p.ej, INT 21h )
INTO
INTerruption on Overflow, llama a la interrupción 4 si el
flag de desbordamiento ( overflow ) est activado. En caso
de que sepamos con seguridad que no es así, es un NOP en
realidad.
IRET
Interruption Return, saca de la pila IP y CS y vuelve al
sitio donde se llamó a la interrupción ( cada vez que
ejecutamos una interrupción, el ordenador efectua una serie
de pasos que acaban con ‚ste IRET )
JMP
Puede ser corto, cercano o largo, cambiando IP y a veces
CS con nuevos valores, o sea, transfiriendo el control a
otra parte del programa.
LAHF
Copia en AH el contenido del byte menos significativo del
registro de flags
LDS
Load Far Pointer with DS, Cargar puntero lejano con DS. Con
‚sta instrucción, se lee una palabra en la dirección indicada
por el origen, copi ndose en el registro destino, y de nuevo
se lee otra, que se almacena en DS
LEA
Load Effective Adress, Cargar dirección efectiva; calcula
el offset del operando origen, y lo almacena en el destino
( bastante útil con etiquetas, por ejemplo )
LES
Load Far Pointer with ES; Igual que LDS, tan sólo que
la segunda palabra la almacena en ES.
LOCK
Lock the Bus.
Se trata de una instrucción que se usa precediendo a
MOV, MOVS o XCHG, y previene del uso del Bus mientras se
ejecuta la instrucción para evitar que ‚ste sea usado por
algún evento externo, interrupciones, etc
LODS
LOaD String, cargar cadena
Si no hay operandos, debe de indicarse con B o W, para
saber si se opera con bytes o palabras. Carga en el
acumulador el elemento apuntado por DS:SI, sea byte o
palabra.
LOOP
Bucle, saltar a la dirección indicada en su operando
( por ejemplo, LOOP etiqueta ) mientras CX valga m s de
1, cuando su valor llegue a cero el bucle dejar de
ejecutarse.
MOV
Copia el operando origen en el destino, pudi‚ndose
realizar ‚stas combinaciones:
reg,reg
reg,mem
mem,reg
reg,inmed
mem,inmed
reg16,segrer
regseg,reg16
regseg,mem
MOVS
MOVe String, mover cadena
Normalmente con el operando B ( byte ) o W ( Word ) de
manera que se transfiera un byte o una palabra, MOVSB o
MOVSW transfieren lo contenido en DS:SI a ES:DI
MUL
MULtiply, multiplicar.
Multiplica el acumulador por el operando , si el operando
puesto en Mul es de 16 bits, el acumulador es AX, si el
operando en Mul es de 8 bits, ser AL.
NEG
Averigua el número negativo del operando, o sea, invierte
su valor. El c lculo se realiza invirtiendo todos los bits
y sumando uno al resultado.
NOP
No OPeration, no hace nada
NOT
Invierte los bits del operando ( 1s en 0s y viceversa )
OR
Realiza un 'O' lógico en los bits del operando, cambiando
el valor de ‚stos bits. Compara uno a uno los bits de
igual significación de los operandos, y da como resultado
1 si uno de ellos o los dos est a uno, o los dos lo est n,
y 0 si los dos est n a 0; por ejemplo:
11100100
OR 00101101
11101101
OUT
OUTput to port, Salida a puerto.
Escribe el contenido de AX o AL ( los dos únicos operandos
origen que se pueden usar con ‚sta instrucción ) en el
puerto especificado por el operando destino ( DX o un
número directo )
POP
Saca del valor operando de la pila
POPF
Saca de la pila el registro de flags
PUSH
Empuja a la pila el valor operando
PUSHF
Empuja el registro de flags a la pila
RCL
Rotate with Carry Left ( Rotar a la izquierda con acarreo )
Copia en cada bit del operando el contenido del que se
halla a su derecha, y en el de menor el contenido del flag
de acarreo; en ‚ste se copia el bit de mayor peso.
RCR
Rotate with Carry Right ( Rotar a la derecha con acarreo )
Copia en cada bit del operando el contenido del que se
encuentra a su izquierda, y en el bit de mayor peso el
contenido del flag de acarreo; en el flag de acarreo el
bit de menor peso.
REP
REPeat