Intel Assembler 80186 y superior
Tabla de Códigos 1/2
© 1996-2003 por Roger Jegerlehner, Suiza V 2.3ES Traducido por Lucas Violini, Argentina
TRANSFERENCIA Nombre Comentario MOV Mover (copiar) XCHG Intercambiar
Código MOV Dest,Fuente XCHG Op1,Op2
Operación Dest:=Fuente Op1:=Op2 , Op2:=Op1
STC CLC CMC STD CLD STI CLI
Set the carry (Carry = 1) Clear Carry (Carry = 0) Complementar Carry Setear dirección Limpiar dirección Flag de Interrupción en 1 Flag de Interrupción en 0
STC CLC CMC STD CLD STI CLI
CF:=1 CF:=0 CF:= ¬ CF DF:=1 (interpreta strings de arriba hacia abajo) DF:=0 (interpreta strings de abajo hacia arriba) IF:=1 IF:=0
PUSH PUSHF PUSHA POP POPF POPA
Apilar en la pila Apila los flags Apila los registros generales Desapila de la pila Desapila a los flags Desapila a los reg. general.
PUSH Fuente PUSHF PUSHA POP Dest POPF POPA
DEC SP, [SP]:=Fuente O, D, I, T, S, Z, A, P, C 286+: También NT, IOPL AX, CX, DX, BX, SP, BP, SI, DI Destino:=[SP], INC SP O, D, I, T, S, Z, A, P, C 286+: También NT, IOPL DI, SI, BP, SP, BX, DX, CX, AX
CBW CWD CWDE
Convertir Byte a Word Convertir Word a Doble Conv. Word a Doble Exten.
CBW CWD CWDE
AX:=AL (con signo) DX:AX:=AX (con signo) EAX:=AX (con signo)
386
O D
I
Flags T S Z A P C
1 0 ± 1 0 1 0
±
±
±
±
±
±
±
±
±
±
±
±
±
±
±
IN i Entrada IN Dest,Puerto OUT i Salida OUT Puerto,Fuente i para más información ver especificaciones de la intrucción ARITMÉTICOS Nombre Comentario Código ADD Suma ADD Dest,Fuente ADC Suma con acarreo ADC Dest,Fuente SUB Resta SUB Dest,Fuente SBB Resta con acarreo SBB Dest,Fuente DIV División (sin signo) DIV Op DIV División (sin signo) DIV Op DIV 386 División (sin signo) DIV Op IDIV División entera con signo IDIV Op IDIV División entera con signo IDIV Op IDIV 386 División entera con signo IDIV Op MUL Multiplicación (sin signo) MUL Op MUL Multiplicación (sin signo) MUL Op MUL 386 Multiplicación (sin signo) MUL Op IMUL i Multiplic. entera con signo IMUL Op IMUL Multiplic. entera con signo IMUL Op IMUL 386 Multiplic. entera con signo IMUL Op INC Incrementar INC Op DEC Decrementar DEC Op
AL/AX/EAX := byte/word/double del puerto especifi. Byte/word/double del puerto especifi. := AL/AX/EAX Flags: ±=Afectado por esta instrucción ?=Indefinido luego de esta instrucción Flags Operación O D I T S Z A P Dest:=Dest+ Fuente ± ± ± ± ± Dest:=Dest+ Fuente +CF ± ± ± ± ± Dest:=Dest- Fuente ± ± ± ± ± Dest:=Dest-(Fuente +CF) ± ± ± ± ± Op=byte: AL:=AX / Op AH:=Resto ? ? ? ? ? Op=word: AX:=DX:AX / Op DX:=Resto ? ? ? ? ? Op=doublew.: EAX:=EDX:EAX / Op EDX:=Resto ? ? ? ? ? Op=byte: AL:=AX / Op AH:=Resto ? ? ? ? ? Op=word: AX:=DX:AX / Op DX:=Resto ? ? ? ? ? Op=doublew.: EAX:=EDX:EAX / Op EDX:=Resto ? ? ? ? ? Op=byte: AX:=AL*Op si AH=0 ♦ ± ? ? ? ? Op=word: DX:AX:=AX*Op si DX=0 ♦ ± ? ? ? ? Op=double: EDX:EAX:=EAX*Op si EDX=0 ♦ ± ? ? ? ? Op=byte: AX:=AL*Op si AL es suficiente ♦ ± ? ? ? ? Op=word: DX:AX:=AX*Op si AX es suficiente ♦ ± ? ? ? ? Op=double: EDX:EAX:=EAX*Op si EAX es sufi. ♦ ± ? ? ? ? Op:=Op+1 (El Carry no resulta afectado !) ± ± ± ± ± Op:=Op-1 (El Carry no resulta afectado !) ± ± ± ± ±
CMP
Op1-Op2
Comparar
CMP Op1,Op2
SAL Desplazam. aritm. a la izq. SAL Op,Cantidad SAR Desplazam. aritm. a la der. SAR Op,Cantidad RCL Rotar a la izq. c/acarreo RCL Op,Cantidad RCR Rotar a la derecha c/acarreo RCR Op,Cantidad ROL Rotar a la izquierda ROL Op,Cantidad ROR Rotar a la derecha ROR Op,Cantidad i para más información ver especificaciones de la intrucción LÓGICOS Nombre Comentario Código NEG Negación (complemento a 2) NEG Op NOT Invertir cada bit NOT Op AND 'Y' (And) lógico AND Dest,Fuente OR 'O' (Or) lógico OR Dest,Fuente XOR 'O' (Or) exclusivo XOR Dest,Fuente SHL SHR
Desplazam. lógico a la izq. Desplazam. lógico a la der.
SHL Op,Cantidad SHR Op,Cantidad
C ± ± ± ± ? ? ? ? ? ? ± ± ± ± ± ±
±
±
±
±
±
±
i i i i i i
± ±
± ±
? ?
± ±
± ± ± ± ± ±
♦ entonces CF:=0, OF:=0 sino CF:=1, OF:=1
Operación Op:=0-Op si Op=0 entonces CF:=0 sino CF:=1 Op:=¬ Op (invierte cada bit) Dest:=Dest∧ Fuente Dest:=Dest∨Fuente Dest:=Dest (xor) Fuente
O D ±
I
Flags T S Z A P C ± ± ± ± ±
0 0 0
± ± ±
± ± ±
? ? ?
± ± ±
0 0 0
i i
± ±
± ±
? ?
± ±
± ±
Consiga la última versión gratuita de jegerlehner.ch/intel Esta página puede ser libremente distribuída sin costo alguno si no es modificada. Todos los derechos reservados