Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Tablas de Codificacion

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

Instrucciones del 8086 mod r/m Dir. Efec. mod r/m Dir. Efec.

00 000 DS:[BX+SI] 10 000 DS:[BX+SI+d16]


Las instrucciones de 16 bits tienen el siguiente formato: 00 001 DS:[BX+DI] 10 001 DS:[BX+DI+d16]
00 010 SS:[BP+SI] 10 010 SS:[BP+SI+d16]
Código de Especificador de Desplazamiento Dato Inmediato 00 011 SS:[BP+DI] 10 011 SS:[BP+DI+d16]
operación Dirección 0 a 2 bytes 0 a 2 bytes 00 100 DS:[SI] 10 100 DS:[SI+d16]
1 a 2 bytes 0 a 1 byte 00 101 DS:[DI] 10 101 DS:[DI+d16]
00 110 DS:DIRECTA 10 110 DS:[BP+d16]
Dentro del código de operación, pueden estar incluidos campos de 00 111 DS:[BX] 10 111 DS:[BX+d16]
operación menores que definen tamaño de desplazamiento, codificación w=0 w=1
de registros o extensión de signo (w, d, s, reg, regs2). 01 000 DS:[BX+SI+d8] 11 000 AL AX
01 001 DS:[BX+DI+d8] 11 001 CL CX
El especificador de dirección define el modo de direccionamiento y puede 01 010 SS:[BP+SI+d8] 11 010 DL DX
incluir también la codificación de registros (mod r/m, reg, regs2, regs3). 01 011 SS:[BP+DI+d8] 11 011 BL BX
01 100 DS:[SI+d8] 11 100 AH SP
Las siguientes tablas definen los valores de codificación para los campos 01 101 DS:[DI+d8] 11 101 CH BP
del código de operación y del especificador de dirección. 01 110 DS:[BP+d8] 11 110 DH SI
01 111 DS:[BX+d8] 11 111 BH DI
VALOR DE w reg REGISTRO regs2
1 0 N/P ES 00
AX AL AX 000 CS 01  Instrucciones de Transferencia de Datos
CX CL CX 001 SS 10
DX DL DX 010 DS 11 INSTRU OPERANDOS CODIFICACION
BX BL BX 011 REGISTRO regs3 -CCION
Código Dirección Desp. Inm.
SP AH SP 100 ES 000 MOV Reg/Mem, Reg 1000100w mod reg r/m 0a2
BP CH BP 101 CS 001 Reg, Reg/Mem 1000101w mod reg r/m 0a2
SI DH SI 110 SS 010 Reg/Mem, Inm 1100011w mod 000 r/m 0a2 1o2
DI BH DI 111 DS 011 Reg, Inm (corta) 1011w reg 1o2
Acum, Mem (corta) 1010000w 0a2
Acum a Mem (corta) 1010001w 0a2
DIRECCION DE LA OPERACIÓN d
Regs, Reg 10001110 mod regs3 r/m
Reg/Mem, Reg 0 Reg, Regs 10001100 mod regs3 r/m
El campo “reg” indica el operando fuente; “mod r/m” MOVSB Sin operandos 10100100
indica operando destino. MOVSW Sin operandos 10100101
Reg, Reg/Mem 1 LEA Reg, Mem 10001101 mod reg r/m 0a2
El campo “reg” indica el operando destino; “mod r/m” LDS Reg, Mem 11000101 mod reg r/m 0a2
LES Reg, Mem 11000100 mod reg r/m 0a2
indica operando fuente.
LAHF Sin operandos 10011111
LODSB Sin operandos 10101100
s Efecto sobre dato inmediato de Efecto sobre dato inmediato de LODSW Sin operandos 10101101
8 bits 16 bits PUSH Reg/Mem 11111111 mod 110 r/m 0a2
0 Ninguno Ninguno Reg (corta) 01010 reg
Inmediato 011010s0 1o2
1 Extensión de signo del dato de 8 Ninguno Regs (corta) 000 regs2 110
bits hasta completar los 16 bits POP Reg/Mem 10001111 mod 000 r/m 0a2
Reg (corta) 01011 reg
Regs (corta) 000 regs2 111
PUSHA Sin operandos 01100000
POPA Sin operandos 01100001 STD Sin operandos 11111101
XCHG Reg, Reg/Mem 1000011w mod reg r/m 0a2 STI Sin operandos 11111011
Acum, Reg (corta) 10010 reg PUSHF Sin operandos 10011100
POPF Sin operandos 10011101
 Instrucciones Aritméticas
 Instrucciones Lógicas
INSTRU OPERANDOS CODIFICACION
-CCION INSTRU OPERANDOS CODIFICACION
Código Dirección Desp. Inm. -CCION
ADD Reg, Reg 000000dw mod reg r/m Código Dirección Desp. Inm.
Mem, Reg 0000000w mod reg r/m 0a2 AND Reg, Reg 001000dw mod reg r/m
Reg, Mem 0000001w mod reg r/m 0a2 Mem, Reg 0010000w mod reg r/m 0a2
Reg/Mem, Inm 100000sw mod 000 r/m 0a2 0a2 Reg, Mem 0010001w mod reg r/m 0a2
Acum, Inm (corta) 0000010w 0a2 Reg/Mem, Inm 1000000w mod 100 r/m 0a2 0a2
ADC Reg, Reg 000100dw mod reg r/m Acum, Inm (corta) 0010010w 0a2
Mem, Reg 0001000w mod reg r/m 0a2 OR Reg, Reg 000010dw mod reg r/m
Reg, Mem 0001001w mod reg r/m 0a2 Mem, Reg 0000100w mod reg r/m 0a2
Reg/Mem Inm 100000sw mod 010r/m 0a2 0a2 Reg, Mem 0000101w mod reg r/m 0a2
Acum, Inm (corta) 0001010w 0a2 Reg/Mem, Inm 1000000w mod 001 r/m 0a2 0a2
SUB Reg, Reg 001010dw mod reg r/m Acum, Inm (corta) 0000110w 0a2
Mem, Reg 0010100w mod reg r/m 0a2 XOR Reg, Reg 001100dw mod reg r/m
Reg, Mem 0010101w mod reg r/m 0a2 Mem, Reg 0011000w mod reg r/m 0a2
Reg/Mem, Inm 100000sw mod 101r/m 0a2 0a2 Reg, Mem 0011001w mod reg r/m 0a2
Acum, Inm (corta) 0010110w 0a2 Reg/Mem, Inm 1000000w mod 110 r/m 0a2 0a2
SBB Reg, Reg 000110dw mod reg r/m Acum, Inm (corta) 0011010w 0a2
Mem, Reg 0001100w mod reg r/m 0a2 TEST Reg, Reg/Mem 1000010w mod reg r/m 0a2
Reg, Mem 0001101w mod reg r/m 0a2 Reg/Mem, Inm 1111011w mod 000 r/m 0a2 0a2
Reg/Mem, Inm 100000sw mod 011r/m 0a2 0a2 Acum, Inm (corta) 1010100w 0a2
Acum, Inm (corta) 0001110w 0a2 NOT Reg/Mem 1111011w mod 010 r/m 0a2
MUL(ss) Reg/Mem 1111011w mod 100 r/m 0a2 NEG Reg/Mem 1111011w mod 011 r/m 0a2
IMUL Reg/Mem 1111011w mod 101 r/m 0a2
DIV (ss) Reg/Mem 1111011w mod 110 r/m 0a2 SAL,SAR, Reg/Mem, 1 1101000w mod TTT r/m 0a2
IDIV Reg/Mem 1111011w mod 111 r/m 0a2 SHL,
INC Reg/Mem 1111111w mod 000 r/m 0a2 SHR,ROL, Reg/Mem, CL 1101001w mod TTT r/m 0a2
Reg (corta) 01000reg ROR,RCL, Reg/Mem, Inm.byte 1100000w mod TTT r/m 0a2 1
DEC Reg/Mem 1111111w mod 001 r/m 0a2 RCR
Reg (corta) 01001 reg INST. ROL ROR RCL RCR SHL SAL SHR SAR
CMP Reg, Reg 001110dw mod reg r/m TTT 000 001 010 011 100 100 101 111
Mem, Reg 0011100w mod reg r/m 0a2
Reg, Mem 0011101w mod reg r/m 0a2  Instrucciones de Transferencia de Control
Reg/Mem, Inm 100000sw mod 111 r/m 0a2 0a2
Acum, Inm (corta) 0011110w 0a2 INSTRU OPERANDOS CODIFICACION
CCION
 Instrucciones de Control de Banderas Código Desp.
CALL Etiqueta 11101000 2
INSTRUCCION OPERANDOS CODIFICACION JMP Etiqueta 11101001 2
CLC Sin operandos 11111000 RET Sin operandos 11000011
CLD Sin operandos 11111100
CLI Sin operandos 11111010
CMC Sin operandos 11110101
STC Sin operandos 11111001
 Instrucciones Saltos Condicionales  Instrucciones de Interrupción

INSTRUCCION OPERANDOS CODIFICACION INSTRUCCION OPERANDOS CODIFICACION


Código Desp. Código Inm.
LOOP Sin operandos 11100010 1 INT Inm.byte 11001101 1
LOOPZ, LOOPE Sin operandos 11100001 1
LOOPNZ, LOOPNE Sin operandos 11100000 1
INSTRU- DIRECCIONA- CODIFICACION
INSTRUCCION TIPO DE SALTO CODIFICACION CCION MIENTO
Código Desp. Código Inm.
JO corto (8 bits) 01110000 1 AAA Sin operandos 00110111
completo (16 bits) 00001111 10000000 2 AAD Sin operandos 11010101 00001010
JNO corto (8 bits) 01110000 1 AAM Sin operandos 11010100 00001010
completo (16 bits) 00001111 10000000 2 AAS Sin operandos 00111111
JE/JZ corto (8 bits) 01110100 1 CBW Sin operandos 10011000
completo (16 bits) 00001111 10000100 2 CMPSB Sin operandos 10100110
JNE/JNZ corto (8 bits) 01110101 1 CMPSW Sin operandos 10100111
completo (16 bits) 00001111 10000101 2 CWD Sin operandos 10011001
JS corto (8 bits) 01111000 1 DAA Sin operandos 00100111
completo (16 bits) 00001111 10001000 2 DAS Sin operandos 00101111
JNS corto (8 bits) 01111001 1 HLT Sin operandos 11110100
completo (16 bits) 00001111 10001001 2 IN AL, Inm.byte 11100100 1
JL/JNGE corto (8 bits) 01111100 1 AL, DX 11101100
completo (16 bits) 00001111 10001100 2 AX, Inm.byte 11100101 1
JNL/JGE corto (8 bits) 01111101 1 AX, DX 11101101
completo (16 bits) 00001111 10001101 2 INTO Sin operandos 11001110
JG/JNLE corto (8 bits) 01111111 1 IRET Sin operandos 11001111
completo (16 bits) 00001111 10001111 2 NOP Sin operandos 10010000
JNG/JLE corto (8 bits) 01111110 1 REP MOVSB 11110010 10100100
MOVSW 11110010 10100101
completo (16 bits) 00001111 10001110 2
LODSB 11110011 10101010
JA/JNBE corto (8 bits) 01110111 1
LODSW 11110011 10101011
completo (16 bits) 00001111 10000111 2
STOSB 11110010 10101010
JAE/JNB corto (8 bits) 01110011 1
STOSW 11110010 10101011
completo (16 bits) 00001111 10000010 2
REPE/ CMPSB 11110011 10100110
JB/JNAE corto (8 bits) 01110010 1 REPZ CMPSW 11110011 10100111
completo (16 bits) 00001111 10000010 2
SCASB 11110011 10101110
JBE/JNA corto (8 bits) 01110110 1 SCASW 11110011 10101111
completo (16 bits) 00001111 10000110 2 REPNE/ CMPSB 11110010 10100110
JP/JPE corto (8 bits) 01111010 1 REPNZ CMPSW 11110010 10100111
completo (16 bits) 00001111 10001010 2 SCASB 11110010 10101110
JPO/JNP corto (8 bits) 01111011 1 SCASW 11110010 10101111
completo (16 bits) 00001111 10001011 2 RETF Sin operandos 11001011
JC corto (8 bits) 0111 0010 1 SAHF Sin operandos 10011110
completo (16 bits) 00001111 10000010 2 SCASB Sin operandos 10101110
JCXZ corto (8 bits) 11100011 1 SCASW Sin operandos 10101111
JNC corto (8 bits) 01110011 1 STOSB Sin operandos 10101010
completo (16 bits) 00001111 10000010 2 STOSW Sin operandos 10101011
XLATB Sin operandos 11010111

También podría gustarte