Beruflich Dokumente
Kultur Dokumente
CONJUNTO DE REGISTROS
UNIFEI
ngenhari@
omputao
i A P X
8 6 / 8 8
ENDEREAMENTO DA MEMRIA
TAMANHO DE DADOS
Tipo
Quantidade Quantidade
de Bits
de Bytes
Nibbles
4
0,5
Bytes
8
1
Words
16
2
Double Words
32
4
Quad Words
64
8
TBytes
80
10
Paragraph
128
16
Tipo
Qtd. Bits
Significado
LS
Least Significant
LSB
1
Bit Menos Significativo
LSNibble
4
Nibble Menos Significativo
LSByte
8
Byte Menos Significativo
LSWord
16
Palavra Menos Significativa
MS
Most Significant
MSB
1
Bit Mais Significativo
MSNibble
4
Nibble Mais Significativo
MSByte
8
Byte Mais Significativo
MSWord
16
Palavra Mais Significativa
MODOS DE ENDEREAMENTO
MODO ESPECFICO
CATEGORIA GERAL
DE ENDEREAMENTO DE ENDEREAMENTO
Por registro
Imediato
Direto
Indireto por registro
Por base
Indexado
Por base indexado
Modo registro
Modo registro ou memria
Modo memria
operando
operando
OPERAO
destino
destino
Registro OPERAO
Registro OPERAO
Registro OPERAO
Memria OPERAO
Memria OPERAO
No existe:
operando
fonte
Registro
Memria
Imediato
Registro
Imediato
Memria
OPERAO Memria
Imediato
OPERAO Operando
Reg. Segmento OPERAO Imediato
CONJUNTO DE INSTRUES
Deslocamentos de 8 (oito) bits so interpretados de
forma sinalizada.
No clculo do offset (16 bits) qualquer carry do bit
mais significativo ignorado.
MODO DE
ENDEREAMENTO
ENDEREO EFETIVO
[OFFSET]
DS
DS
[SI]
DS
[DI]
DS
[BX + deslocamento]
AeC
DS
[BP + deslocamento]
AeC
SS
[SI + deslocamento]
BeC
DS
[DI + deslocamento]
BeC
DS
[BX + SI]
AeB
DS
[BX + DI]
AeB
DS
direto
por base
indexado
[deslocamento de 16 bits]
COLUNAS REGISTRO
SEGMENTO
[BX + SI + deslocamento] A, B e C
DS
[BX + DI + deslocamento] A, B e C
DS
[BP + SI]
AeB
SS
[BP + DI]
AeB
SS
[BP + SI + deslocamento] A, B e C
SS
[BP + DI + deslocamento] A, B e C
SS
OPERANDO DESCRIO
[mem]
[mem16]
[mem32]
AF
Byte PTR
CF
desl16
desl8
dest
EA
Flags
fonte
fonte16
fonte8
LSByte
LSNibble
MSNibble
offset
porta
reg
reg16
RSeg
seletor
tipo8
Word PTR
x DIV y
x MOD y
ZF
DESCRIO
afetado conforme operao
assume o nvel lgico 0 (zero)
assume o nvel lgico 1 (um)
estado indefinido
no afetado
INSTRUES DE
TRANSFERNCIA DE DADOS
INSTRUO
OPERAO
MOV
dest,fonte
dest fonte
XCHG dest,fonte
dest fonte
XLAT
AL
FLAGS: O S Z A P C
INSTRUO
OPERAO
DAA
DS:[BX + AL]
DAS
LEA reg16,[mem]
dest
EA de [mem]
reg16 RSeg:[mem32]
DS
LES reg16,[mem32]
RSeg:[mem32 + 2]
reg16 RSeg:[mem32]
ES
RSeg:[mem32 + 2]
OPERAO
ADD dest,fonte
x x x x x x
ADC dest,fonte
x x x x x x
SUB dest,fonte
x x x x x x
SBB dest,fonte
x x x x x x
INC dest
dest dest + 1
x x x x x
DEC dest
dest dest 1
x x x x x
CMP dest,fonte
NEG dest
FLAGS: O S Z A P C
FLAGS: O S Z A P C
dest fonte
INSTRUO
OPERAO
AAA
Se LSNibble(AL) 9 e AF=0:
AL = AL AND 0Fh
x x x x x x
? ? ? x ? x
AAS
? ? ? x ? x
x x x x x x
dest 0 dest
FLAGS: O S Z A P C
AH AL DIV 10(0Ah)
AAM
? x x ? x ?
AL AL MOD 10(0Ah)
AL AH 10(0Ah) + AL
AAD
FLAGS: O S Z A P C
INSTRUO
OPERAO
CLC
(Carry Flag) CF 0
STC
(Carry Flag) CF 1
CMC
CLI
INSTRUES DE CONTROLE DO
PROCESSADOR
INSTRUO
OPERAO
(Interrupt Flag) IF 0
NOP
nenhuma operao
STI
(Interrupt Flag) IF 1
HLT
parar a CPU
CLD
(Direction Flag) DF 0
STD
(Direction Flag) DF 1
FLAGS: O S Z A P C
INSTRUES LGICAS
LAHF
SAHF
? x x ? x ?
AH 00h
x x x x x
INSTRUO
OPERAO
AND
dest,fonte
0 x x ? x 0
OR
dest,fonte
0 x x ? x 0
XOR
dest,fonte
0 x x ? x 0
NOT
dest
TEST dest,fonte
FLAGS: O S Z A P C
0 x x ? x 0
INSTRUES DE DESLOCAMENTO
INSTRUO
OPERAO
FLAGS: O S Z A P C
SHL dest,1
x x x ? x x
SHL dest,CL
x x x ? x x
SHR dest,1
x x x ? x x
SHR dest,CL
x x x ? x x
SAL dest,1
x x x ? x x
SAL dest,CL
x x x ? x x
SAR dest,1
x x x ? x x
SAR dest,CL
x x x ? x x
INSTRUES DE ROTAO
INSTRUO
OPERAO
FLAGS: O S Z A P C
ROL dest,1
ROL dest,CL
ROR dest,1
ROR dest,CL
INSTRUO
OPERAO
Jcondio desl8
MNEMNICO
JNC
JC
JNP
JP
JNZ
JZ
JNS
JS
JNO
JO
JCXZ
JA
JBE
JAE
JB
JG
JLE
JGE
JL
JPO
JPE
JNE
JE
JNBE
JNA
JNB
JNAE
JNLE
JNG
JNL
JNGE
CONDIO DO JUMP
no carry
carry
no paridade / paridade impar
paridade / paridade par
no zero / no igual
zero / igual
no sinal
sinal
no overflow
overflow
registro CX igual a zero
acima / no abaixo nem igual
abaixo ou igual / no acima
acima ou igual / no abaixo
abaixo / no acima nem igual
maior / no menor nem igual
menor ou igual / no maior
maior ou igual / no menor
menor / no maior nem igual
CF = 0
CF = 1
PF = 0
PF = 1
ZF = 0
ZF = 1
SF = 0
SF = 1
OF = 0
OF = 1
registro CX = 0
CF OR ZF = 0
CF OR ZF = 1
CF = 0
CF = 1
(SF XOR OF) OR ZF = 0
(SF XOR OF) OR ZF = 1
SF XOR OF = 0
SF XOR OF = 1
RCL dest,CL
RCR dest,1
RCR dest,CL
J = Jump
JE
JNE
JG
JGE
JL
JLE
E
N
A
B
G
L
ABSOLUTO
x
x
CONDIO
RCL dest,1
FLAGS: O S Z A P C
JE
JNE
JA
JAE
JB
JBE
>
<
JNBE
JNB
JNAE
JNA
JNLE
JNL
JNGE
JNG
=
=
=
=
=
=
Equal
Not
Above
Below
Greater
Less
OPERAO
FLAGS: O S Z A P C
INSTRUO
OPERAO
Se CX 0:
IP IP + desl8
JMP desl8
IP IP + desl8
JMP desl16
IP IP + desl16
JMP reg16
IP reg16
JMP [mem16]
IP RSeg:[mem16]
LOOPE desl8
LOOPZ desl8
LOOPNE desl8
LOOPNZ desl8
FLAGS: O S Z A P C
OPERAO
JMP seletor:offset
IP offset
FLAGS: O S Z A P C
CS selector
JMP [mem32]
IP RSeg:[mem32]
CS RSeg:[mem32 + 2]
INSTRUES DE MULTIPLICAO
INSTRUO
OPERAO
INSTRUES DE CHAMADA DE
SUB-ROTINAS
FLAGS: O S Z A P C
x ? ? ? ? x
IMUL fonte8
x ? ? ? ? x
MUL fonte16
x ? ? ? ? x
IMUL fonte16
x ? ? ? ? x
INSTRUO
OPERAO
CALL desl16
SP
FLAGS: O S Z A P C
SP 2
SS:[SP] IP
CALL reg16
IP
IP + desl16
SP
SP 2
SS:[SP] IP
CALL [mem16]
IP
reg16
SP
SP 2
SS:[SP] IP
IP
INSTRUES DE DIVISO
INSTRUO
OPERAO
FLAGS: O S Z A P C
DIV fonte8
? ? ? ? ? ?
OPERAO
CALL seletor:offset SP
FLAGS: O S Z A P C
SP 2
SS:[SP] CS
? ? ? ? ? ?
IDIV fonte8
RSeg:[mem16]
SP
SP 2
SS:[SP] IP
DIV fonte16
? ? ? ? ? ?
IDIV fonte16
? ? ? ? ? ?
CALL [mem32]
IP
offset
CS
seletor
SP
SP 2
SS:[SP] CS
SP
INSTRUES DE
EXTENSO DO BIT DE SINAL
INSTRUO
SP 2
SS:[SP] IP
IP
RSeg:[mem32]
CS
RSeg:[mem32 + 2]
FLAGS: O S Z A P C
OPERAO
CBW
INSTRUES DE RETORNO DE
SUB-ROTINAS
Tipo intrassegmento (NEAR):
CWD
INSTRUO
OPERAO
RETN
IP SS:[SP]
FLAGS: O S Z A P C
SP SP + 2
RETN desl16
INSTRUES DE MANIPULAO
DA PILHA (STACK)
INSTRUO
PUSH reg16
FLAGS: O S Z A P C
OPERAO
SP
SP 2
SS:[SP] reg16
PUSH [mem16]
SP
SP SP + 2
SP SP + desl16
OPERAO
RETF
IP SS:[SP]
SP SP + 2
SP 2
CS SS:[SP]
SS:[SP] RSeg:[mem16]
PUSHF
SP
SP SP + 2
SP 2
RETF desl16
SS:[SP] Flags
POP reg16
POP [mem16]
POPF
CS SS:[SP]
SP SP + 2
SP + 2
SP SP + desl16
RSeg:[mem16] SS:[SP]
SP
SP + 2
Flags SS:[SP]
SP
SP + 2
IP SS:[SP]
SP SP + 2
Reg16 SS:[SP]
SP
IP SS:[SP]
x x x x x x
D=x I=x T=x
FLAGS: O S Z A P C
INSTRUES STRINGS
INSTRUO OPERAO
OPERAO
MOVSB
FLAGS: O S Z A P C
DF 0
CLD
Incrementar
SI SI 1
DI DI 1
MOVSW
DF 1
STD
SI SI 2
Decrementar
DI DI 2
LODSB
AX DS:[SI]
SI SI 2
STOSB
ES:[DI] AL
INSTRUO
OPERAO
INT tipo8
SP
CMPSB
SP
SP
FLAGS: O S Z A P C
ES:[DI] AL
INT
INTO
Se OF = 1:
Equivale a INT 04h
x x x x x x
x x x x x x
Se OF = 0:
Ignora a instruo
(no gera interrupo)
IRET
DI DI 1
ES:[DI] AX
x x x x x x
DI DI 2
IP
SS:[SP]
x x x x x x
SP
SP + 2
CS
SS:[SP]
SP
SP + 2
Flags SS:[SP]
SP
INSTRUO
REPE
InstruoString
REPZ
InstruoString
REPNE
InstruoString
REPNZ
InstruoString
SP 2
CS 0000h:[4tipo8 + 2]
SI SI 2
REP
InstruoString
SP 2
IP 0000h:[4tipo8]
DI DI 2
SCASW
SP 2
SS:[SP] IP
x x x x x x
SI SI 1
SCASB
FLAGS: O S Z A P C
SS:[SP] CS
DI DI 1
CMPSW
Flag TF 0 (armadilha)
Flag IF 0 (interrupo)
ES:[DI] AX
DI DI 2
INSTRUO
SS:[SP] Flags
DI DI 1
STOSW
INSTRUES DE INTERRUPO
POR SOFTWARE
AL DS:[SI]
SI SI 1
LODSW
INSTRUO STRING
(Regnd = SI ou DI)
AO
Enquanto CX 0:
executar InstruoString
CX CX 1 (sem afetar flags)
repetir a estrutura
MOVSB MOVSW
Enquanto CX 0:
executar InstruoString
CX CX 1 (sem afetar flags)
se ZF = 0: sair do loop
repetir a estrutura
CMPSB CMPSW
Enquanto CX 0:
executar InstruoString
CX CX 1 (sem afetar flags)
se ZF = 1: sair do loop
repetir a estrutura
LODSB LODSW
SP + 2
INSTRUES DE INTERFACE
COM HARDWARE
INSTRUO
OPERAO
ESC
SCASB SCASW
WAIT
CMPSB CMPSW
LOCK Instruo
STOSB STOSW
SCASB SCASW
FLAGS: O S Z A P C
INSTRUES DE ENTRADA
E SADA DE DADOS
OPERAO
IN AL,porta
AL [porta]
FLAGS: O S Z A P C
AX [porta]
(00h porta FFh)
AL [porta DX]
IN AL,DX
(0000h DX FFFFh)
AX [porta DX]
IN AX,DX
(0000h DX FFFFh)
OUT porta,AL
[porta] AL
(00h porta FFh)
OUT porta,AX
[porta] AX
(00h porta FFh)
[porta DX] AL
OUT DX,AL
(0000h DX FFFFh)
[porta DX] AX
OUT DX,AX
(0000h DX FFFFh)
SINALIZADO
ABSOLUTO
INSTRUO
<
>
<
>
JAE JNB
TESTE
TESTE ALTERNATIVO
CF = 0
CF = 0
JB
JNAE CF = 1
CF = 1
JA
JNBE CF OR ZF = 0
JBE JNA
CF OR ZF = 1
(ZF = 1) OR (CF = 1)
JGE JNL
SF XOR OF = 0
SF = OF
JL
JNGE SF XOR OF = 1
JG
JLE JNG
SMBOLO
DESCRIO
Reg
Reg8
Reg16
RegSeg
[Mem]
[Mem8]
[Mem16]
[Mem32]
Imed
Acum
CL
AX
DX
registro CL
registro AX
registro DX
dado8
dado16L
dado16H
dado de 8 bits
desl8
desl16
desl16L
desl16H
deslocamento de 8 bits
deslocamento de 16 bits
offsetL
offsetH
tipo8
INSTRUO
SF OF
Mem86
INSTRUO
N CICLOS
iAPX86 iAPX88
CDIGO DE MQUINA
Jcondio desl8
16 ou 4 16 ou 4
O iAPX88 leva 16 ciclos se o desvio ocorrer.
O iAPX88 leva 4 ciclos se o desvio no ocorrer.
O iAPX86 leva 16 ciclos se o desvio ocorrer.
O iAPX86 leva 4 ciclos se o desvio no ocorrer.
O iAPX86 no faz referncia a nenhum operando memria.
SHL Reg,CL
[Mem],1
8+4n
2 15+EE
O n indica o nmero de repeties que ir ocorrer
na execuo da instruo (contedo de CL).
O EE indica o nmero de ciclos de clock necessrios para
calcular o endereo efetivo (offset) do operando memria.
O nmero 2 indica que o iAPX86 faz 2 (duas) referncias a
memria, considerando que o operando memria de 16 bits
e se localiza em uma posio de memria cujo endereo par.
BIT
ESPECIFICAO
ESTADO
S:W
X:0
0:1
1:1
MODO
MEMRIA
R/M
MOD=00
MODO
REGISTRO
MOD=01
MOD=10
MOD=11
REG
Mem86
INSTRUO
N CICLOS
iAPX86 iAPX88
AAA
AAD
60
60
11010101 00001010
AAM
83
83
11010100 00001010
AAS
00111111
00 0100DW
ADC Reg,Reg
Reg,[Mem]
9+EE 13+EE
[Mem],Reg
2 16+EE 24+EE
ADC Reg,Imed
[Mem],Imed
2 17+EE 25+EE
W=0 W=1
AX
CX
DX
BX
ADC Acum,Imed
SI
(5)
SI + Desl8 ( 9)
SI + Desl16 ( 9) AH
SP
101
DI
(5)
DI + Desl8 ( 9)
DI + Desl16 ( 9) CH
BP
Reg,[Mem]
9+EE 13+EE
[Mem],Reg
2 16+EE 24+EE
+ Desl8 ( 9) BP
+ Desl16 ( 9) DH
SI
BX
+ Desl8 ( 9) BX
+ Desl16 ( 9) BH
DI
111
(5) BX
RS
REGISTRO DE SEGMENTO
00
01
10
11
ES
CS
SS
DS
OVERRIDE PREFIX
0010
0010
0011
0011
0110
1110
0110
1110
b
b
b
b
HEX
26h
2Eh
36h
3Eh
00110111
MOD REG
desl8 / desl16L
10 0000SW
ADD Reg,Reg
ADD Reg,Imed
[Mem],Imed
ADD Acum,Imed
MOD
9+EE 13+EE
[Mem],Reg
2 16+EE 24+EE
[Mem],Imed
AND Acum,Imed
R/M
desl16H
dado8 / dado16L
S:W=01 dado16H
0001010W
00 0000DW
dado16H
MOD REG
desl8 / desl16L
10 0000SW
R/M
desl16H
MOD
000
R/M
2 17+EE 25+EE
Reg,[Mem]
AND Reg,Imed
010
desl8 / desl16L
desl8 / desl16L
desl16H
dado8 / dado16L
S:W=01 dado16H
0000010W
dado8 / dado16L
AND Reg,Reg
R/M
desl16H
dado8 / dado16L
100
CDIGO DE MQUINA
00 1000DW
dado16H
MOD REG
desl8 / desl16L
10 0000SW
R/M
desl16H
MOD
100
R/M
2 17+EE 25+EE
desl8 / desl16L
desl16H
dado8 / dado16L
S:W=01 dado16H
0010010W
dado8 / dado16L
dado16H
CALL desl16
1 19
23
11101000
desl16L
CALL Reg16
[Mem16]
1 16
20
11111111
DAA
00100111
DAS
00101111
1111111W
desl16H
MOD
010
R/M
2 21+EE 29+EE
desl8 / desl16L
desl16H
DEC Reg
[Mem]
CALL seletor:offset 2 28
CALL [Mem32]
36
desl8 / desl16L
10011010
offsetL
offsetH
seletorL
seletorH
4 37+EE 53+EE 1 1 1 1 1 1 1 1
MOD
desl8 / desl16L
CBW
011
CLD
11111100
CLI
11111010
DEC Reg16
DIV Reg8
R/M
desl16H
10011000
CLC
CMP Reg,Reg
Reg,[Mem]
9+EE 13+EE
[Mem],Reg
9+EE 13+EE
80 a 90
[Mem8]
[Mem16]
86+EE a
96+EE
150+EE a
168+EE
[Mem],Imed
CMP Acum,Imed
1 10+EE 14+EE
30
00 1 1 1 0DW
MOD REG
8+EE 12+EE
2+
desl8 / desl16L
10 0 0 0 0SW
R/M
desl16H
MOD
111
R/M
desl8 / desl16L
desl16H
dado8 / dado16L
S:W=01 dado16H
00111 10W
10100 11W
REPNE/REPNZ
2+
Reg16
[Mem8]
[Mem16]
107+EE a
118+EE
171+EE a
190+EE
107+EE a
118+EE
175+EE a
194+EE
80 a 98
80 a 98
Reg16
[Mem8]
[Mem16]
86+EE a
104+EE
134+EE a
160+EE
86+EE a
104+EE
138+EE a
164+EE
01001
desl16H
REG
1111011W
MOD
110
R/M
desl8 / desl16L
desl16H
11 011EEE
MOD E E E R/M
desl8 / desl16L
desl16H
11110100
1111011W
MOD
desl8 / desl16L
1111011W
111
R/M
desl16H
R/M
porta8
14
1110010W
IN Acum,DX
12
1110110W
INC Reg
1111111W
desl8 / desl16L
INC Reg16
INT tipo8
5 51
71
11001101
INT
5 52
72
11001100
INTO
5 53 ou 4 73 ou 4 1 1 0 0 1 1 1 0
IRET
3 32
01000
MOD
000
11001111
R/M
desl16H
REG
10011001
44
101
desl16H
1 10
2 15+EE 23+EE
MOD
desl8 / desl16L
IN Acum,porta
dado16H
R/M
11110101
REPE/REPZ
CWD
001
11111000
dado8 / dado16L
2 22
86+EE a
96+EE
154+EE a
172+EE
[Mem]
[Mem]
CMPS
80 a 90
ESC iAPX87Reg
IMUL Reg8
CMP Reg,Imed
IDIV Reg8
Reg16
HLT
CMC
MOD
2 15+EE 23+EE
tipo8
Jcondio desl8
16 ou 4 16 ou 4 0 1 1 1 J J J J
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Jcondio
JO
JNO
JB
JAE
JE
JNE
JBE
JA
JS
JNS
JP
JNP
JL
JGE
JLE
JG
JNAE JC
JNB JNC
JZ
JNZ
JNA
JNBE
JPE
JPO
JNGE
JNL
JNG
JNLE
condio
OF = 0
OF = 1
CF = 1
CF = 0
ZF = 1
ZF = 0
CF OR ZF = 1
CF OR ZF = 0
SF = 1
SF = 0
PF = 1
PF = 0
SF XOR OF = 1
SF XOR OF = 0
(SF XOR OF) OR ZF = 1
(SF XOR OF) OR ZF = 0
JA / JNBE
desl8
16 ou 4 16 ou 4 0 1 1 1 0 1 1 1
JAE / JNB
desl8
16 ou 4 16 ou 4 0 1 1 1 0 0 1 1
JB / JNAE
JBE / JNA
desl8
desl8
desl8
16 ou 4 16 ou 4 0 1 1 1 0 0 1 0
16 ou 4 16 ou 4 0 1 1 1 0 1 1 0
JNGE / JL
desl8
16 ou 4 16 ou 4 0 1 1 1 1 1 0 0
desl8
JNL / JGE
desl8
16 ou 4 16 ou 4 0 1 1 1 1 1 0 1
desl8
JNLE / JG
desl8
16 ou 4 16 ou 4 0 1 1 1 1 1 1 1
desl8
JNO
desl8
16 ou 4 16 ou 4 0 1 1 1 0 0 0 1
desl8
JNP / JPO
desl8
16 ou 4 16 ou 4 0 1 1 1 1 0 1 1
desl8
JNS
desl8
16 ou 4 16 ou 4 0 1 1 1 1 0 0 1
desl8
JNZ / JNE
desl8
16 ou 4 16 ou 4 0 1 1 1 0 1 0 1
desl8
JO
desl8
16 ou 4 16 ou 4 0 1 1 1 0 0 0 0
desl8
JP / JPE
desl8
16 ou 4 16 ou 4 0 1 1 1 1 0 1 0
desl8
JPE / JP
desl8
16 ou 4 16 ou 4 0 1 1 1 1 0 1 0
desl8
JPO / JNP
desl8
16 ou 4 16 ou 4 0 1 1 1 1 0 1 1
desl8
JS
desl8
16 ou 4 16 ou 4 0 1 1 1 1 0 0 0
desl8
JZ / JE
desl8
16 ou 4 16 ou 4 0 1 1 1 0 1 0 0
desl8
JCXZ
desl8
18 ou 6 18 ou 6 1 1 1 0 0 0 1 1
desl8
JMP desl8
15
15
11101011
desl8
JMP desl16
15
15
11101001
desl8
desl8
desl8
desl8
JC
desl8
16 ou 4 16 ou 4 0 1 1 1 0 0 1 0
desl8
JE / JZ
desl8
16 ou 4 16 ou 4 0 1 1 1 0 1 0 0
desl8
JG / JNLE
desl8
16 ou 4 16 ou 4 0 1 1 1 1 1 1 1
desl8
JGE / JNL
desl8
16 ou 4 16 ou 4 0 1 1 1 1 1 0 1
desl8
JL / JNGE
desl8
16 ou 4 16 ou 4 0 1 1 1 1 1 0 0
desl8
JLE / JNG
desl8
16 ou 4 16 ou 4 0 1 1 1 1 1 1 0
desl8
desl16L
JMP Reg16
[Mem16]
11
11
11111111
desl16H
MOD
desl8 / desl16L
JNA / JBE
desl8
16 ou 4 16 ou 4 0 1 1 1 0 1 1 0
desl8
JNAE / JB
desl8
16 ou 4 16 ou 4 0 1 1 1 0 0 1 0
desl8
JNB / JAE
desl8
16 ou 4 16 ou 4 0 1 1 1 0 0 1 1
desl8
JNBE / JA
desl8
16 ou 4 16 ou 4 0 1 1 1 0 1 1 1
JMP seletor:offset
JMP [Mem32]
JNC
desl8
16 ou 4 16 ou 4 0 1 1 1 0 0 1 1
100
R/M
1 18+EE 22+EE
15
15
desl16H
11101010
offsetL
offsetH
seletorL
seletorH
2 24+EE 32+EE 1 1 1 1 1 1 1 1
MOD
101
R/M
desl8
desl8 / desl16L
desl8
LAHF
JNE / JNZ
desl8
16 ou 4 16 ou 4 0 1 1 1 0 1 0 1
desl8
JNG / JLE
desl8
16 ou 4 16 ou 4 0 1 1 1 1 1 1 0
desl8
10011111
desl16H
LDS Reg16,[Mem32]
2 16+EE 24+EE 1 1 0 0 0 1 0 1
MOD REG
desl8 / desl16L
R/M
desl16H
MOVS
2 18
26
1010010W
REP
MOVS
2n 9+17n 9+25n 1 1 1 1 0 0 1 1 1 0 1 0 0 1 0 W
REP
MOVS
2n 9+17n 9+25n 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 W
+2prefixo +2prefixo
LEA Reg16,[Mem]
2+EE
2+EE 1 0 0 0 1 1 0 1
MOD REG
desl8 / desl16L
R/M
+2prefixo +2prefixo
desl16H
MUL Reg8
LES Reg16,[Mem32]
2 16+EE 24+EE 1 1 0 0 0 1 0 0
MOD REG
desl8 / desl16L
LOCK Instruo
R/M
desl16H
70 a 77
Reg16
[Mem8]
[Mem16]
76+EE a
83+EE
124+EE a
139+EE
NEG Reg
[Mem]
11110000
70 a 77
76+EE a
83+EE
128+EE a
143+EE
2 16+EE 24+EE
1111011W
MOD
desl8 / desl16L
1111011W
REP
1 12
LODS
16
10101 10W
1n 9+13n 9+17n 1 1 1 1 0 0 1 1 1 0 1 0 1 1 0 W
+2prefixo +2prefixo
REP
LODS
NOP
10010000
XCHG AX,AX
10010000
NOT Reg
1111011W
R/M
desl16H
MOD
desl8 / desl16L
LODS
100
011
R/M
desl16H
1n 9+13n 9+17n 1 1 1 1 0 0 1 0 1 0 1 0 1 1 0 W
+2prefixo +2prefixo
[Mem]
LOOP
desl8 17 ou 5 17 ou 5 1 1 1 0 0 0 1 0
desl8
LOOPE /LOOPZ
desl8 18 ou 6 18 ou 6 1 1 1 0 0 0 0 1
desl8
LOOPNE/LOOPNZ desl8 19 ou 5 19 ou 5 1 1 1 0 0 0 0 0
Reg,[Mem]
8+EE 12+EE
[Mem],Reg
9+EE 13+EE
MOV Reg,Imed
[Mem],Imed
MOV Reg,Imed
10
OR Reg,Reg
desl8
10
1 10+EE 14+EE
10 0 0 1 0DW
MOD REG
desl8 / desl16L
11000 11W
Reg,[Mem]
9+EE 13+EE
[Mem],Reg
2 16+EE 24+EE
1 10
14
MOD
1 10
14
000
R/M
desl16H
dado8 / dado16L
dado16H
REG
dado16H
OR Acum,Imed
RegSeg(D=1),[Mem] 1
8+EE 12+EE
Reg,RegSeg(D=0)
[Mem],RegSeg(D=0) 1
10 0000SW
MOD REG
R/M
desl16H
MOD
001
R/M
desl8 / desl16L
desl16H
dado8 / dado16L
S:W=01 dado16H
0000110W
dado8 / dado16L
dado16H
porta8
1 10
14
1110011W
OUT DX,Acum
12
1110111W
Override Prefix
0 0 1 RS 1 1 0
Registro de Segmento RS 00 = ES
10100 01W
POP Reg16
offsetH
100011D0
MOD 0 RS
desl8 / desl16L
01 = CS
12
10001111
01 = CS
10 = SS
11 = DS
desl8 / desl16L
POP Reg16
12
01011
POP RegSeg
12
0 0 0 RS 1 1 1
12
10011101
REG
(POP CS no permitido)
POPF
MOD
11 = DS
000
R/M
2 17+EE 25+EE
R/M
desl16H
10 = SS
9+EE 13+EE
Registro de Segmento RS 00 = ES
desl16H
desl8 / desl16L
OUT porta,Acum
[Mem16]
2 17+EE 25+EE
offsetH
offsetL
MOV RegSeg(D=1),Reg
00 0010DW
R/M
10100 00W
offsetL
MOV [Mem],Acum
[Mem],Imed
010
desl16H
dado8 / dado16L
MOV Acum,[Mem]
R/M
desl8 / desl16L
1011W
MOD
desl8 / desl16L
OR Reg,Imed
MOV Reg,Reg
2 16+EE 24+EE
desl16H
PUSH Reg16
1 11
[Mem16]
15
11111111
MOD
110
R/M
RETN
1 16
20
11000011
RETN desl16
1 20
24
11000010
2 16+EE 24+EE
desl8 / desl16L
desl16H
PUSH Reg16
1 11
15
01010
PUSH RegSeg
1 10
14
0 0 0 RS 1 1 0
RETF
2 26
34
11001011
PUSHF
1 10
14
10011100
RETF desl16
2 25
33
11001010
RCL Reg,1
Reg,CL
8+4n
8+4n
[Mem],1
2 15+EE 23+EE
[Mem],CL
2 20+EE 28+EE
+4n
+4n
REG
desl16H
desl16L
desl16H
desl16L
RCR Reg,1
Reg,CL
8+4n
8+4n
[Mem],1
2 15+EE 23+EE
[Mem],CL
2 20+EE 28+EE
+4n
+4n
REP
Bit Z
MOVS
0
1
REP
LODS
LODS
MOD
010
desl8 / desl16L
11 0 1 0 0VW
R/M
desl16H
MOD
011
desl8 / desl16L
STOS
REP
REP
11 0 1 0 0VW
LODS
Reg,CL
8+4n
8+4n
[Mem],1
2 15+EE 23+EE
[Mem],CL
2 20+EE 28+EE
+4n
+4n
desl16H
ROR Reg,1
Reg,CL
8+4n
8+4n
[Mem],1
2 15+EE 23+EE
[Mem],CL
2 20+EE 28+EE
+4n
+4n
CMPS
REPNE
REPE
REPNZ
REPZ
SCAS
REPNE
REPE
REPNZ
REPZ
1n 9+13n 9+17n 1 1 1 1 0 0 1 1 1 0 1 0 1 1 0 W
1n 9+13n 9+17n 1 1 1 1 0 0 1 0 1 0 1 0 1 1 0 W
REP
MOVS
2n 9+17n 9+25n 1 1 1 1 0 0 1 1 1 0 1 0 0 1 0 W
REP
MOVS
2n 9+17n 9+25n 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 W
+2prefixo +2prefixo
+2prefixo +2prefixo
REP
STOS
1n 9+10n 9+14n 1 1 1 1 0 0 1 1 1 0 1 0 1 0 1 W
REP
STOS
1n 9+10n 9+14n 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 W
+2prefixo +2prefixo
REPE / REPZ
REPE / REPZ
REPNE / REPNE
11110011
11 0100VW
000
R/M
desl16H
MOD
desl8 / desl16L
10011110
SAL Reg,1
11 0100VW
Reg,CL
8+4n
8+4n
[Mem],1
2 15+EE 23+EE
[Mem],CL
2 20+EE 28+EE
+4n
+4n
SAR Reg,1
Reg,CL
8+4n
8+4n
[Mem],1
2 15+EE 23+EE
[Mem],CL
2 20+EE 28+EE
+4n
+4n
SBB Reg,Reg
Reg,[Mem]
9+EE 13+EE
[Mem],Reg
2 16+EE 24+EE
SBB Reg,Imed
[Mem],Imed
001
R/M
desl16H
SBB Acum,Imed
11110010
desl8 / desl16L
11 0100VW
00 0110DW
REPNE / REPNZ
SCAS
MOD
R/M
111
R/M
desl16H
MOD REG
desl8 / desl16L
10 0000SW
100
desl16H
desl8 / desl16L
R/M
desl16H
MOD
011
R/M
desl8 / desl16L
desl16H
dado8 / dado16L
S:W=01 dado16H
0001110W
dado8 / dado16L
REPNE / REPNZ
MOD
2 17+EE 25+EE
desl8 / desl16L
SAHF
+2prefixo +2prefixo
MOD
11110 01Z
+2prefixo +2prefixo
REPE / REPZ
11 0100VW
R/M
+2prefixo +2prefixo
REP
ROL Reg,1
1 15
19
dado16H
1010111W
REPE/REPZ
REPNE/REPNZ
SHL Reg,1
Reg,CL
8+4n
8+4n
[Mem],1
2 15+EE 23+EE
[Mem],CL
2 20+EE 28+EE
+4n
+4n
11 0 1 0 0VW
MOD
100
R/M
XCHG Reg(R/M),REG
[Mem](R/M),REG
desl8 / desl16L
desl16H
2 17+EE 25+EE
MOD REG
desl8 / desl16L
Reg,[Mem]
XCHG Reg16,AX
1000011W
XLAT
1 11
11
11010111
XOR Reg,Reg
00 1100DW
10010
R/M
desl16H
REG
AX,Reg16
SHR Reg,1
Reg,CL
8+4n
8+4n
[Mem],1
2 15+EE 23+EE
[Mem],CL
2 20+EE 28+EE
+4n
+4n
STC
11 0 1 0 0VW
MOD
desl8 / desl16L
101
R/M
desl16H
11111001
Reg,[Mem]
9+EE 13+EE
[Mem],Reg
2 16+EE 24+EE
XOR Reg,Imed
STD
STI
[Mem],Imed
11111101
1 11
15
2 17+EE 25+EE
desl8 / desl16L
10 0000SW
R/M
desl16H
MOD
110
R/M
desl8 / desl16L
desl16H
dado8 / dado16L
S:W=01 dado16H
11111011
XOR Acum,Imed
STOS
MOD REG
10101 01W
0011010W
dado8 / dado16L
REP
STOS
1n 9+10n 9+14n 1 1 1 1 0 0 1 1 1 0 1 0 1 0 1 W
REP
STOS
1n 9+10n 9+14n 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 W
dado16H
+2prefixo +2prefixo
+2prefixo +2prefixo
Reg,[Mem]
9+EE 13+EE
[Mem],Reg
2 16+EE 24+EE
SUB Reg,Imed
[Mem],Imed
SUB Acum,Imed
2 17+EE 25+EE
00 1 0 1 0DW
MOD REG
desl8 / desl16L
10 0 0 0 0SW
desl16H
MOD
[Mem](R/M),REG
9+EE 13+EE
TEST Reg,Imed
[Mem],Imed
1 11+EE 15+EE
R/M
desl16H
dado8 / dado16L
S:W=01 dado16H
INSTRUO
N CICLOS
iAPX86 iAPX88
10000 10W
11110 11W
CDIGO DE MQUINA
00101 10W
dado16H
MOD REG
desl8 / desl16L
Reg,[Mem]
101
desl8 / desl16L
dado8 / dado16L
TEST Reg(R/M),REG
R/M
Mem86
SUB Reg,Reg
R/M
desl16H
MOD
000
Jcondio desl8
16 ou 4 16 ou 4
O iAPX88 leva 16 ciclos se o desvio ocorrer.
O iAPX88 leva 4 ciclos se o desvio no ocorrer.
R/M
desl8 / desl16L
desl16H
dado8 / dado16L
dado16H
TEST Acum,Imed
SHL Reg,CL
10101 00W
dado8 / dado16L
[Mem],1
dado16H
8+4n
2 15+EE
O n indica o nmero de repeties que ir ocorrer
na execuo da instruo (contedo de CL).
O EE indica o nmero de ciclos de clock necessrios para
calcular o endereo efetivo (offset) do operando memria.
WAIT
3+5n
3+5n 1 0 0 1 1 0 1 1
OPERANDO
I8
I8s
I16L
I16H
D8
D16L
D16H
offH
offL
selH
selL
DESCRIO
valor imediato de 8 bits
valor imediato de 8 bits sinalizado
LSbyte do valor imediato de 16 bits
MSbyte do valor imediato de 16 bits
deslocamento de 8 bits
LSbyte do deslocamento de 16 bits
MSbyte do deslocamento de 16 bits
MSbyte do offset (endereo efetivo - 16 bits)
LSbyte do offset (endereo efetivo - 16 bits)
MSbyte do seletor (endereo de segmento - 16 bits)
LSbyte do seletor (endereo de segmento - 16 bits)
Reg8
Reg16
Imed8
Imed8s
Imed16
INSTRUO
ADD [offset],Reg8
ADD [Mem8],Reg8
ADD [Mem8+D8],Reg8
ADD [Mem8+D16],Reg8
ADD Reg8,Reg8
ADD [offset],Reg16
ADD [Mem16],Reg16
ADD [Mem16+D8],Reg16
ADD [Mem16+D16],Reg16
ADD Reg16,Reg16
ADD Reg8,[offset]
ADD Reg8,[Mem8]
ADD Reg8,[Mem8+D8]
ADD Reg8,[Mem8+D16]
ADD Reg8,Reg8
ADD Reg16,[offset]
ADD Reg16,[Mem16]
ADD Reg16,[Mem16+D8]
ADD Reg16,[Mem16+D16]
ADD Reg16,Reg16
04 0000 0100 I8
ADD AL,Imed8
07 0000 0111
POP ES
[Mem]
[Mem+D8]
[Mem+D16]
OR [offset],Reg8
OR [Mem8],Reg8
OR [Mem8+D8],Reg8
OR [Mem8+D16],Reg8
[Mem8]
[Mem8+D8]
[Mem8+D16]
OR Reg8,Reg8
OR [offset],Reg16
OR [Mem16],Reg16
OR [Mem16+D8],Reg16
OR [Mem16+D16],Reg16
OR Reg16,Reg16
OR Reg8,[offset]
OR Reg8,[Mem8]
OR Reg8,[Mem8+D8]
OR Reg8,[Mem8+D16]
OR Reg8,Reg8
OR Reg16,[offset]
OR Reg16,[Mem16]
OR Reg16,[Mem16+D8]
OR Reg16,[Mem16+D16]
byte ptr
word ptr
near ptr
far ptr
iAPX87Reg
I16H
06 0000 0110
ADD AX,Imed16
PUSH ES
OR Reg16,Reg16
0C 0000 1100 I8
OR AL,Imed8
I16H
0E 0000 1110
OR AX,Imed16
0F 0000 1111
PUSH CS
No permitido
ADC [offset],Reg8
ADC [Mem8],Reg8
ADC [Mem8+D8],Reg8
ADC [Mem8+D16],Reg8
ADC Reg8,Reg8
ADC [offset],Reg16
ADC [Mem16],Reg16
ADC [Mem16+D8],Reg16
ADC [Mem16+D16],Reg16
ADC Reg16,Reg16
ADC Reg8,[offset]
ADC Reg8,[Mem8]
ADC Reg8,[Mem8+D8]
ADC Reg8,[Mem8+D16]
ADC Reg8,Reg8
ADC Reg16,[offset]
ADC Reg16,[Mem16]
ADC Reg16,[Mem16+D8]
ADC Reg16,[Mem16+D16]
(POP CS)
HEX
HEX
ADC Reg16,Reg16
SUB Reg8,Reg8
14 0001 0100 I8
ADC AL,Imed8
SUB Reg16,[offset]
ADC AX,Imed16
SUB Reg16,[Mem16]
16 0001 0110
PUSH SS
SUB Reg16,[Mem16+D8]
17 0001 0111
POP SS
SUB Reg16,[Mem16+D16]
SBB [offset],Reg8
SUB Reg16,Reg16
SBB [Mem8],Reg8
2C 0010 1100 I8
SUB AL,Imed8
SBB [Mem8+D8],Reg8
SBB [Mem8+D16],Reg8
2E 0010 1110
SBB Reg8,Reg8
2F 0010 1111
DAS
SBB [offset],Reg16
XOR [offset],Reg8
SBB [Mem16],Reg16
XOR [Mem8],Reg8
SBB [Mem16+D8],Reg16
XOR [Mem8+D8],Reg8
SBB [Mem16+D16],Reg16
XOR [Mem8+D16],Reg8
SBB Reg16,Reg16
XOR Reg8,Reg8
SBB Reg8,[offset]
XOR [offset],Reg16
SBB Reg8,[Mem8]
XOR [Mem16],Reg16
SBB Reg8,[Mem8+D8]
XOR [Mem16+D8],Reg16
SBB Reg8,[Mem8+D16]
XOR [Mem16+D16],Reg16
SBB Reg8,Reg8
XOR Reg16,Reg16
SBB Reg16,[offset]
XOR Reg8,[offset]
SBB Reg16,[Mem16]
XOR Reg8,[Mem8]
SBB Reg16,[Mem16+D8]
XOR Reg8,[Mem8+D8]
SBB Reg16,[Mem16+D16]
XOR Reg8,[Mem8+D16]
SBB Reg16,Reg16
XOR Reg8,Reg8
1C 0001 1100 I8
SBB AL,Imed8
XOR Reg16,[offset]
SBB AX,Imed16
XOR Reg16,[Mem16]
1E 0001 1110
PUSH DS
XOR Reg16,[Mem16+D8]
1F 0001 1111
POP DS
XOR Reg16,[Mem16+D16]
AND [offset],Reg8
XOR Reg16,Reg16
AND [Mem8],Reg8
34 0011 0100 I8
XOR AL,Imed8
AND [Mem8+D8],Reg8
AND [Mem8+D16],Reg8
36 0011 0110
AND Reg8,Reg8
37 0011 0111
AAA
AND [offset],Reg16
CMP [offset],Reg8
AND [Mem16],Reg16
CMP [Mem8],Reg8
AND [Mem16+D8],Reg16
CMP [Mem8+D8],Reg8
AND [Mem16+D16],Reg16
CMP [Mem8+D16],Reg8
AND Reg16,Reg16
CMP Reg8,Reg8
AND Reg8,[offset]
CMP [offset],Reg16
AND Reg8,[Mem8]
CMP [Mem16],Reg16
AND Reg8,[Mem8+D8]
CMP [Mem16+D8],Reg16
AND Reg8,[Mem8+D16]
CMP [Mem16+D16],Reg16
AND Reg8,Reg8
CMP Reg16,Reg16
AND Reg16,[offset]
CMP Reg8,[offset]
AND Reg16,[Mem16]
CMP Reg8,[Mem8]
AND Reg16,[Mem16+D8]
CMP Reg8,[Mem8+D8]
AND Reg16,[Mem16+D16]
CMP Reg8,[Mem8+D16]
AND Reg16,Reg16
CMP Reg8,Reg8
24 0010 0100 I8
AND AL,Imed8
CMP Reg16,[offset]
AND AX,Imed16
CMP Reg16,[Mem16]
26 0010 0110
Override Prefix ES
CMP Reg16,[Mem16+D8]
27 0010 0111
DAA
CMP Reg16,[Mem16+D16]
SUB [offset],Reg8
CMP Reg16,Reg16
SUB [Mem8],Reg8
3C 0011 1100 I8
CMP AL,Imed8
SUB [Mem8+D8],Reg8
SUB [Mem8+D16],Reg8
3E 0011 1110
Override Prefix DS
SUB Reg8,Reg8
3F 0011 1111
AAS
SUB [offset],Reg16
40 0100 0000
INC AX
SUB [Mem16],Reg16
41 0100 0001
INC CX
SUB [Mem16+D8],Reg16
42 0100 0010
INC DX
SUB [Mem16+D16],Reg16
43 0100 0011
INC BX
SUB Reg16,Reg16
44 0100 0100
INC SP
SUB Reg8,[offset]
45 0100 0101
INC BP
SUB Reg8,[Mem8]
46 0100 0110
INC SI
SUB Reg8,[Mem8+D8]
47 0100 0111
INC DI
SUB Reg8,[Mem8+D16]
48 0100 1000
DEC AX
I16H
I16H
I16H
I16H
INSTRUO
SUB AX,Imed16
Override Prefix CS
I16H
XOR AX,Imed16
Override Prefix SS
I16H
CMP AX,Imed16
HEX
HEX
49 0100 1001
DEC CX
OR [Mem8+D16],Imed8
4A 0100 1010
DEC DX
ADC [Mem8+D16],Imed8
4B 0100 1011
DEC BX
SBB [Mem8+D16],Imed8
4C 0100 1100
DEC SP
AND [Mem8+D16],Imed8
4D 0100 1101
DEC BP
SUB [Mem8+D16],Imed8
4E 0100 1110
DEC SI
XOR [Mem8+D16],Imed8
4F 0100 1111
DEC DI
CMP [Mem8+D16],Imed8
50 0101 0000
PUSH AX
ADD Reg8,Imed8
51 0101 0001
PUSH CX
OR Reg8,Imed8
52 0101 0010
PUSH DX
ADC Reg8,Imed8
53 0101 0011
PUSH BX
SBB Reg8,Imed8
54 0101 0100
PUSH SP
AND Reg8,Imed8
55 0101 0101
PUSH BP
SUB Reg8,Imed8
56 0101 0110
PUSH SI
XOR Reg8,Imed8
57 0101 0111
PUSH DI
CMP Reg8,Imed8
58 0101 1000
POP AX
81 1000 0001 00 000 110 offL offH I16L I16H ADD [offset],Imed16
59 0101 1001
POP CX
5A 0101 1010
POP DX
5B 0101 1011
POP BX
5C 0101 1100
POP SP
81 1000 0001 00 010 110 offL offH I16L I16H ADC [offset],Imed16
5D 0101 1101
POP BP
5E 0101 1110
POP SI
81 1000 0001 00 011 110 offL offH I16L I16H SBB [offset],Imed16
5F 0101 1111
POP DI
No implementado
6x 0110 xxxx
70 0111 0000 D8
JO
D8
71 0111 0001 D8
JNO
D8
81 1000 0001 00 101 110 offL offH I16L I16H SUB [offset],Imed16
72 0111 0010 D8
JB / JNAE D8
72 0111 0010 D8
JC
D8
81 1000 0001 00 110 110 offL offH I16L I16H XOR [offset],Imed16
73 0111 0011 D8
JAE / JNB
D8
73 0111 0011 D8
JNC
D8
81 1000 0001 00 111 110 offL offH I16L I16H CMP [offset],Imed16
74 0111 0100 D8
JE / JZ
D8
CMP [Mem16],Imed16
75 0111 0101 D8
JNE / JNZ
D8
I16L I16H
ADD [Mem16+D8],Imed16
76 0111 0110 D8
JBE / JNA
D8
I16L I16H
OR [Mem16+D8],Imed16
77 0111 0111 D8
JA / JNBE D8
I16L I16H
ADC [Mem16+D8],Imed16
78 0111 1000 D8
JS
D8
I16L I16H
SBB [Mem16+D8],Imed16
79 0111 1001 D8
JNS
D8
I16L I16H
AND [Mem16+D8],Imed16
7A 0111 1010 D8
JP / JPE
D8
I16L I16H
SUB [Mem16+D8],Imed16
7B 0111 1011 D8
JNP / JPO
D8
I16L I16H
XOR [Mem16+D8],Imed16
7C 0111 1100 D8
JL / JNGE D8
I16L I16H
CMP [Mem16+D8],Imed16
7D 0111 1101 D8
JGE / JNL
D8
81 1000 0001 10 000 R/M D16L D16H I16L I16H ADD [Mem16+D16],Imed16
7E 0111 1110 D8
JLE / JNG
D8
7F 0111 1111 D8
JG / JNLE D8
81 1000 0001 10 010 R/M D16L D16H I16L I16H ADC [Mem16+D16],Imed16
ADD [offset],Imed8
81 1000 0001 10 011 R/M D16L D16H I16L I16H SBB [Mem16+D16],Imed16
ADD [Mem8],Imed8
81 1000 0001 10 100 R/M D16L D16H I16L I16H AND [Mem16+D16],Imed16
OR [offset],Imed8
81 1000 0001 10 101 R/M D16L D16H I16L I16H SUB [Mem16+D16],Imed16
OR [Mem8],Imed8
81 1000 0001 10 110 R/M D16L D16H I16L I16H XOR [Mem16+D16],Imed16
ADC [offset],Imed8
81 1000 0001 10 111 R/M D16L D16H I16L I16H CMP [Mem16+D16],Imed16
ADC [Mem8],Imed8
ADD Reg16,Imed16
SBB [offset],Imed8
OR Reg16,Imed16
SBB [Mem8],Imed8
ADC Reg16,Imed16
AND [offset],Imed8
SBB Reg16,Imed16
AND [Mem8],Imed8
AND Reg16,Imed16
SUB [offset],Imed8
SUB Reg16,Imed16
SUB [Mem8],Imed8
XOR Reg16,Imed16
XOR [offset],Imed8
CMP Reg16,Imed16
XOR [Mem8],Imed8
ADD [offset],Imed8
CMP [offset],Imed8
ADD [Mem8],Imed8
INSTRUO
ADD [Mem16],Imed16
OR [Mem16],Imed16
ADC [Mem16],Imed16
SBB [Mem16],Imed16
81 1000 0001 00 100 110 offL offH I16L I16H AND [offset],Imed16
AND [Mem16],Imed16
SUB [Mem16],Imed16
XOR [Mem16],Imed16
CMP [Mem8],Imed8
OR [offset],Imed8
I8
ADD [Mem8+D8],Imed8
OR [Mem8],Imed8
I8
OR [Mem8+D8],Imed8
ADC [offset],Imed8
I8
ADC [Mem8+D8],Imed8
ADC [Mem8],Imed8
I8
SBB [Mem8+D8],Imed8
SBB [offset],Imed8
I8
AND [Mem8+D8],Imed8
SBB [Mem8],Imed8
I8
SUB [Mem8+D8],Imed8
AND [offset],Imed8
I8
XOR [Mem8+D8],Imed8
AND [Mem8],Imed8
I8
CMP [Mem8+D8],Imed8
SUB [offset],Imed8
ADD [Mem8+D16],Imed8
SUB [Mem8],Imed8
HEX
HEX
XOR [offset],Imed8
CMP Reg16,Imed8s
XOR [Mem8],Imed8
TEST [offset],Reg8
CMP [offset],Imed8
TEST [Mem8],Reg8
CMP [Mem8],Imed8
TEST [Mem8+D8],Reg8
INSTRUO
I8
ADD [Mem8+D8],Imed8
TEST [Mem8+D16],Reg8
I8
OR [Mem8+D8],Imed8
TEST Reg8(R/M),Reg8(REG)
I8
ADC [Mem8+D8],Imed8
TEST [offset],Reg16
I8
SBB [Mem8+D8],Imed8
TEST [Mem16],Reg16
I8
AND [Mem8+D8],Imed8
TEST [Mem16+D8],Reg16
I8
SUB [Mem8+D8],Imed8
TEST [Mem16+D16],Reg16
I8
XOR [Mem8+D8],Imed8
TEST Reg16(R/M),Reg16(REG)
I8
CMP [Mem8+D8],Imed8
XCHG [offset],Reg8
ADD [Mem8+D16],Imed8
XCHG [Mem8],Reg8
OR [Mem8+D16],Imed8
XCHG [Mem8+D8],Reg8
ADC [Mem8+D16],Imed8
XCHG [Mem8+D16],Reg8
SBB [Mem8+D16],Imed8
XCHG Reg8(R/M),Reg8(REG)
AND [Mem8+D16],Imed8
XCHG [offset],Reg16
SUB [Mem8+D16],Imed8
XCHG [Mem16],Reg16
XOR [Mem8+D16],Imed8
XCHG [Mem16+D8],Reg16
CMP [Mem8+D16],Imed8
XCHG [Mem16+D16],Reg16
ADD Reg8,Imed8
XCHG Reg16(R/M),Reg16(REG)
OR Reg8,Imed8
MOV [offset],Reg8
ADC Reg8,Imed8
MOV [Mem8],Reg8
SBB Reg8,Imed8
MOV [Mem8+D8],Reg8
AND Reg8,Imed8
MOV [Mem8+D16],Reg8
SUB Reg8,Imed8
MOV Reg8,Reg8
XOR Reg8,Imed8
MOV [offset],Reg16
CMP Reg8,Imed8
MOV [Mem16],Reg16
ADD [offset],Imed8s
MOV [Mem16+D8],Reg16
ADD [Mem16],Imed8s
MOV [Mem16+D16],Reg16
OR [offset],Imed8s
MOV Reg16,Reg16
OR [Mem16],Imed8s
MOV Reg8,[offset]
ADC [offset],Imed8s
MOV Reg8,[Mem8]
ADC [Mem16],Imed8s
MOV Reg8,[Mem8+D8]
SBB [offset],Imed8s
MOV Reg8,[Mem8+D16]
SBB [Mem16],Imed8s
MOV Reg8,Reg8
AND [offset],Imed8s
MOV Reg16,[offset]
AND [Mem16],Imed8s
MOV Reg16,[Mem16]
SUB [offset],Imed8s
MOV Reg16,[Mem16+D8]
SUB [Mem16],Imed8s
MOV Reg16,[Mem16+D16]
XOR [offset],Imed8s
MOV Reg16,Reg16
XOR [Mem16],Imed8s
MOV [offset],RegSeg
CMP [offset],Imed8s
MOV [Mem16],RegSeg
CMP [Mem16],Imed8s
MOV [Mem16+D8],RegSeg
I8s
ADD [Mem16+D8],Imed8s
MOV [Mem16+D16],RegSeg
I8s
OR [Mem16+D8],Imed8s
I8s
ADC [Mem16+D8],Imed8s
MOV Reg16,RegSeg
No implementado
I8s
SBB [Mem16+D8],Imed8s
LEA Reg16,[offset]
I8s
AND [Mem16+D8],Imed8s
LEA Reg16,[Mem]
I8s
SUB [Mem16+D8],Imed8s
LEA Reg16,[Mem+D8]
I8s
XOR [Mem16+D8],Imed8s
I8s
CMP [Mem16+D8],Imed8s
LEA Reg16,[Mem+D16]
No permitido (LEA Reg16,Reg16)
ADD [Mem16+D16],Imed8s
MOV RegSeg.[offset]
OR [Mem16+D16],Imed8s
MOV RegSeg.[Mem16]
ADC [Mem16+D16],Imed8s
MOV RegSeg.[Mem16+D8]
SBB [Mem16+D16],Imed8s
MOV RegSeg.[Mem16+D16]
AND [Mem16+D16],Imed8s
SUB [Mem16+D16],Imed8s
MOV RegSeg.Reg16
No implementado
XOR [Mem16+D16],Imed8s
CMP [Mem16+D16],Imed8s
POP [Mem16]
ADD Reg16,Imed8s
POP [Mem16+D8]
OR Reg16,Imed8s
POP [Mem16+D16]
ADC Reg16,Imed8s
SBB Reg16,Imed8s
POP Reg16
No implementado
AND Reg16,Imed8s
No implementado
SUB Reg16,Imed8s
No implementado
XOR Reg16,Imed8s
No implementado
HEX
HEX
No implementado
No implementado
No implementado
MOV [Mem8+D16],Imed8
90 1001 0000
NOP
90 1001 0000
XCHG AX,AX
MOV Reg8,Imed8
No implementado
91 1001 0001
XCHG CX,AX
No implementado
92 1001 0010
XCHG DX,AX
No implementado
93 1001 0011
XCHG BX,AX
No implementado
94 1001 0100
XCHG SP,AX
No implementado
95 1001 0101
XCHG BP,AX
No implementado
96 1001 0110
XCHG SI,AX
No implementado
97 1001 0111
XCHG DI,AX
C7 1100 0111 00 000 110 offL offH I16L I16H MOV [offset],Imed16
98 1001 1000
CBW
MOV [Mem16],Imed16
99 1001 1001
CWD
MOV [Mem16+D8],Imed16
CALL seletor:offset
C7 1100 0111 10 000 R/M D16L D16H I16L I16H MOV [Mem16+D16],Imed16
9B 1001 1011
WAIT
9C 1001 1100
PUSHF
MOV Reg16,Imed16
No implementado
9D 1001 1101
POPF
No implementado
9E 1001 1110
SAHF
No implementado
9F 1001 1111
LAHF
No implementado
INSTRUO
MOV [Mem8],Imed8
I8
I16L I16H
MOV [Mem8+D8],Imed8
offH
MOV AL,[offset]
No implementado
offH
MOV AX,[offset]
No implementado
offH
MOV [offset],AL
No implementado
offH
MOV [offset],AX
C8 1100 1000
No implementado
A4 1010 0100
MOVSB
C9 1100 1001
A5 1010 0101
MOVSW
A6 1010 0110
CMPSB
CB 1100 1011
A7 1010 0111
CMPSW
CC 1100 1100
INT
A8 1010 1000 I8
TEST AL,Imed8
INT tipo8
INTO
I16H
No implementado
D16H
RETF D16
RETF
TEST AX,Imed16
CE 1100 1110
AA 1010 1010
ST0SB
CF 1100 1111
IRET
AB 1010 1011
ST0SW
AC 1010 1100
LODSB
ROL [Mem8],1
AD 1010 1101
LODSW
AE 1010 1110
SCASB
ROR [Mem8],1
AF 1010 1111
SCASW
B0 1011 0000 I8
MOV AL,Imed8
B1 1011 0001 I8
MOV CL,Imed8
RCL [Mem8],1
RCR byte ptr [offset],1
B2 1011 0010 I8
MOV DL,Imed8
RCR [Mem8],1
B3 1011 0011 I8
MOV BL,Imed8
B4 1011 0100 I8
MOV AH,Imed8
B5 1011 0101 I8
MOV CH,Imed8
SAL [Mem8],1
B6 1011 0110 I8
MOV DH,Imed8
B7 1011 0111 I8
MOV BH,Imed8
SHL [Mem8],1
SHR byte ptr [offset],1
I16H
MOV AX,Imed16
I16H
MOV CX,Imed16
SHR [Mem8],1
SAR byte ptr [offset],1
I16H
MOV DX,Imed16
SAR [Mem8],1
I16H
MOV BX,Imed16
ROL [Mem8+D8],1
I16H
MOV SP,Imed16
ROR [Mem8+D8],1
I16H
MOV BP,Imed16
RCL [Mem8+D8],1
I16H
MOV SI,Imed16
RCR [Mem8+D8],1
I16H
SAL [Mem8+D8],1
C0 1100 0000
MOV DI,Imed16
No implementado
SHL [Mem8+D8],1
C1 1100 0001
No implementado
SHR [Mem8+D8],1
RETN D16
SAR [Mem8+D8],1
C3 1100 0011
RETN
ROL [Mem8+D16],1
LES Reg16,[offset]
ROR [Mem8+D16],1
LES Reg16,[Mem]
RCL [Mem8+D16],1
LES Reg16,[Mem+D8]
RCR [Mem8+D16],1
SAL [Mem8+D16],1
LES Reg16,[Mem+D16]
No permitido (LES Reg16,Reg16)
SHL [Mem8+D16],1
LDS Reg16,[offset]
SHR [Mem8+D16],1
LDS Reg16,[Mem]
SAR [Mem8+D16],1
LDS Reg16,[Mem+D8]
ROL Reg8,1
ROR Reg8,1
LDS Reg16,[Mem+D16]
No permitido (LDS Reg16,Reg16)
RCL Reg8,1
MOV [offset],Imed8
RCR Reg8,1
D16H
HEX
HEX
SAL Reg8,1
SHL [Mem8+D8],CL
SHL Reg8,1
SHR [Mem8+D8],CL
SHR Reg8,1
SAR [Mem8+D8],CL
ROL [Mem8+D16],CL
SAR Reg8,1
No implementado
ROR [Mem8+D16],CL
RCL [Mem8+D16],CL
ROL [Mem16],1
RCR [Mem8+D16],CL
SAL [Mem8+D16],CL
ROR [Mem16],1
SHL [Mem8+D16],CL
SHR [Mem8+D16],CL
RCL [Mem16],1
SAR [Mem8+D16],CL
ROL Reg8,CL
RCR [Mem16],1
ROR Reg8,CL
RCL Reg8,CL
RCR Reg8,CL
SAL [Mem16],1
SAL Reg8,CL
SHL [Mem16],1
SHL Reg8,CL
SHR Reg8,CL
SHR [Mem16],1
SAR Reg8,CL
No implementado
SAR [Mem16],1
ROL [Mem16+D8],1
ROL [Mem16],CL
ROR [Mem16+D8],1
RCL [Mem16+D8],1
ROR [Mem16],CL
RCR [Mem16+D8],1
SAL [Mem16+D8],1
SHL [Mem16+D8],1
RCL [Mem16],CL
RCR word ptr [offset],CL
SHR [Mem16+D8],1
RCR [Mem16],CL
SAR [Mem16+D8],1
ROL [Mem16+D16],1
ROR [Mem16+D16],1
SAL [Mem16],CL
RCL [Mem16+D16],1
RCR [Mem16+D16],1
SHL [Mem16],CL
SHR word ptr [offset],CL
SAL [Mem16+D16],1
SHL [Mem16+D16],1
SHR [Mem16],CL
SAR word ptr [offset],CL
SHR [Mem16+D16],1
SAR [Mem16],CL
SAR [Mem16+D16],1
ROL [Mem16+D8],CL
ROL Reg16,1
ROR [Mem16+D8],CL
ROR Reg16,1
RCL [Mem16+D8],CL
RCL Reg16,1
RCR [Mem16+D8],CL
RCR Reg16,1
SAL [Mem16+D8],CL
SAL Reg16,1
SHL [Mem16+D8],CL
SHL Reg16,1
SHR [Mem16+D8],CL
SHR Reg16,1
SAR [Mem16+D8],CL
ROL [Mem16+D16],CL
SAR Reg16,1
No implementado
ROR [Mem16+D16],CL
RCL [Mem16+D16],CL
ROL [Mem8],CL
ROR byte ptr [offset],CL
RCR [Mem16+D16],CL
SAL [Mem16+D16],CL
SHL [Mem16+D16],CL
ROR [Mem8],CL
RCL byte ptr [offset],CL
SHR [Mem16+D16],CL
RCL [Mem8],CL
SAR [Mem16+D16],CL
ROL Reg16,CL
RCR [Mem8],CL
ROR Reg16,CL
RCL Reg16,CL
RCR Reg16,CL
SAL [Mem8],CL
SAL Reg16,CL
SHL [Mem8],CL
SHR byte ptr [offset],CL
SHL Reg16,CL
SHR Reg16,CL
SHR [Mem8],CL
SAR byte ptr [offset],CL
SAR Reg16,CL
No implementado
SAR [Mem8],CL
AAM
ROL [Mem8+D8],CL
ROR [Mem8+D8],CL
D6 1101 0110
AAD
No implementado
RCL [Mem8+D8],CL
D7 1101 0111
XLAT
RCR [Mem8+D8],CL
ESC [offset]
SAL [Mem8+D8],CL
ESC [Mem]
INSTRUO
HEX
HEX
ESC [Mem+D8]
DIV [Mem8]
ESC [Mem+D16]
ESC iAPX87Reg
IDIV [Mem8]
ESC [offset]
ESC [Mem]
TEST [Mem8+D8],Imed8
No implementado
ESC [Mem+D8]
NOT [Mem8+D8]
ESC [Mem+D16]
NEG [Mem8+D8]
ESC iAPX87Reg
MUL [Mem8+D8]
ESC [offset]
IMUL [Mem8+D8]
ESC [Mem]
DIV [Mem8+D8]
ESC [Mem+D8]
IDIV [Mem8+D8]
ESC [Mem+D16]
ESC iAPX87Reg
TEST [Mem8+D16],Imed8
No implementado
E0 1110 0000 D8
LOOPNE / LOOPNZ D8
NOT [Mem8+D16]
E1 1110 0001 D8
LOOPE / LOOPZ
NEG [Mem8+D16]
E2 1110 0010 D8
LOOP D8
MUL [Mem8+D16]
E3 1110 0011 D8
JCXZ D8
IMUL [Mem8+D16]
IN AL,porta8
DIV [Mem8+D16]
IN AX,porta8
IDIV [Mem8+D16]
OUT porta8,AL
OUT porta8,AX
TEST Reg8,Imed8
No implementado
D8
I8
INSTRUO
D16H
CALL D16
NOT Reg8
D16H
JMP D16
NEG Reg8
JMP seletor:offset
MUL Reg8
EB 1110 1011 D8
JMP D8
IMUL Reg8
EC 1110 1100
IN AL,DX
DIV Reg8
ED 1110 1101
IN AX,DX
IDIV Reg8
EE 1110 1110
OUT DX,AL
F7 1111 0111 00 000 110 offL offH I16L I16H TEST [offset],Imed16
EF 1110 1111
OUT DX,AX
F0 1111 0000
TEST [Mem16],Imed16
No implementado
F2 1111 0001
LOCK
No implementado
F2 1111 0010
NOT [Mem16]
REP MOVSB
REP MOVSW
REPNE/REPNZ CMPSB
NEG [Mem16]
MUL word ptr [offset]
REPNE/REPNZ CMPSW
REP ST0SB
REP ST0SW
REP LODSB
IMUL [Mem16]
DIV word ptr [offset]
REP LODSW
DIV [Mem16]
REPNE/REPNZ SCASB
REPNE/REPNZ SCASW
IDIV [Mem16]
F3 1111 0011
REP MOVSB
TEST [Mem16+D8],Imed16
No implementado
REP MOVSW
NOT [Mem16+D8]
REPE/REPZ CMPSB
NEG [Mem16+D8]
REPE/REPZ CMPSW
MUL [Mem16+D8]
REP ST0SB
IMUL [Mem16+D8]
REP ST0SW
DIV [Mem16+D8]
REP LODSB
IDIV [Mem16+D8]
REP LODSW
REPE/REPZ SCASB
F7 1111 0111 10 000 R/M D16L D16H I16L I16H TEST [Mem16+D16],Imed16
No implementado
F7 1111 0111 10 001 xxx
REPE/REPZ SCASW
NOT [Mem16+D16]
F4 1111 0100
HLT
NEG [Mem16+D16]
F5 1111 0101
CMC
MUL [Mem16+D16]
TEST [offset],Imed8
IMUL [Mem16+D16]
DIV [Mem16+D16]
TEST [Mem8],Imed8
No implementado
IDIV [Mem16+D16]
NOT [Mem8]
TEST Reg16,Imed16
No implementado
NOT Reg16
NEG [Mem8]
NEG Reg16
MUL Reg16
MUL [Mem8]
IMUL Reg16
DIV Reg16
IMUL [Mem8]
DIV byte ptr [offset]
IDIV Reg16
F8 1111 1000
CLC
I16L I16H
MUL [Mem16]
IMUL word ptr [offset]
HEX
HEX
F9 1111 1001
STC
JMP [Mem32+D16]
FA 1111 1010
CLI
FB 1111 1011
STI
PUSH [Mem16+D16]
No implementado
FC 1111 1100
CLD
INC Reg16
FD 1111 1101
STD
DEC Reg16
INC [Mem8]
CALL Reg16
No permitido
DEC [Mem8]
No implementado
JMP Reg16
No permitido
No implementado
No implementado
No implementado
No implementado
No implementado
INC [Mem8+D8]
DEC [Mem8+D8]
No implementado
No implementado
No implementado
No implementado
No implementado
No implementado
INC [Mem8+D16]
DEC [Mem8+D16]
No implementado
No implementado
No implementado
No implementado
No implementado
No implementado
INC Reg8
DEC Reg8
No implementado
No implementado
No implementado
No implementado
No implementado
No implementado
INC [Mem16]
DEC word ptr [offset]
DEC [Mem16]
CALL [Mem16]
CALL [Mem32]
JMP [Mem16]
JMP [Mem32]
PUSH word ptr [offset]
PUSH [Mem16]
No implementado
INC [Mem16+D8]
DEC [Mem16+D8]
CALL [Mem16+D8]
CALL [Mem32+D8]
JMP [Mem16+D8]
JMP [Mem32+D8]
PUSH [Mem16+D8]
No implementado
INC [Mem16+D16]
DEC [Mem16+D16]
CALL [Mem16+D16]
CALL [Mem32+D16]
JMP [Mem16+D16]
INSTRUO
PUSH Reg16
No implementado