Vous êtes sur la page 1sur 21

UNIVERSIDADE FEDERAL DE

CONJUNTO DE REGISTROS

UNIFEI

ngenhari@
omputao

i A P X
8 6 / 8 8

ENDEREAMENTO DA MEMRIA

CONVERSO DE ENDEREO LGICO EM


ENDEREO FSICO

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

CONVERSO DE ENDEREO FSICO EM


ENDEREO LGICO NORMALIZADO

MODOS DE ENDEREAMENTO

SINTAXE DAS INSTRUES

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

MNEMNICO operando destino , operando fonte


MNEMNICO operando destino
MNEMNICO operando fonte
MNEMNICO

INSTRUES COM DOIS OPERANDOS

Modo registro : A instruo no possui operando memria.


Modo memria : A instruo possui um operando memria.

MODOS DE ENDEREAMENTO 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

indireto por registro [BX]

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

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

operando memria de 8 ou 16 bits


operando memria de 16 bits
operando memria de 32 bits
estado do flag auxiliar (auxiliary carry flag)
operando memria referenciado na forma de byte
estado do flag de carry (carry flag)
nmero binrio absoluto de 16 bits
nmero binrio sinalizado de 8 bits
operando destino
endereo efetivo (Effective Address) ou offset
registro de flags (16 bits)
operando fonte
operando fonte (registro ou memria) de 16 bits
operando fonte (registro ou memria) de 8 bits
byte menos significativo (Least Significant Byte)
nibble menos significativo (Least Significant Nibble)
nibble mais significativo (Most Significant Nibble)
endereo efetivo (offset)
nmero binrio absoluto de 8 bits
registro de propsito geral de 8 ou 16 bits
registro de propsito geral de 16 bits
registro de segmento default do operando memria
endereo de segmento (seletor)
nmero binrio absoluto de 8 bits
operando memria referenciado na forma de word
quociente inteiro da diviso de x por y (x y)
resto inteiro da diviso de x por y (x y)
estado do flag zero (zero flag)
FLAG
x
0
1
?

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

INSTRUES DE AJUSTE DECIMAL


(BCD COMPACTADO)

FLAGS: O S Z A P C

INSTRUO

OPERAO

DAA

Se LSNibble(AL) > 9 ou AF=1: ? x x x x x


AL = AL + 06h
AF = 1
Se MSNibble(AL) > 9 ou CF=1:
AL = AL + 60h
CF = 1

DS:[BX + AL]

(AL = nmero absoluto)

Se LSNibble(AL) > 9 ou AF=1: ? x x x x x


AL = AL 06h
AF = 1

DAS
LEA reg16,[mem]

dest

EA de [mem]

(EA = endereo efetivo)


LDS reg16,[mem32]

Se MSNibble(AL) > 9 ou CF=1:


AL = AL 60h
CF = 1

reg16 RSeg:[mem32]
DS

LES reg16,[mem32]

RSeg:[mem32 + 2]

reg16 RSeg:[mem32]
ES

INSTRUES DE AJUSTE NO FORMATO


ASCII (BCD NO COMPACTADO)

RSeg:[mem32 + 2]

INSTRUES ARITMTICAS BSICAS


INSTRUO

OPERAO

ADD dest,fonte

dest dest + fonte

x x x x x x

ADC dest,fonte

dest dest + fonte + CF

x x x x x x

SUB dest,fonte

dest dest fonte

x x x x x x

SBB dest,fonte

dest dest fonte CF

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

Se LSNibble(AL) > 9 ou AF=1:


AL = AL + 06h
AH = AH + 01h
AL = AL AND 0Fh
CF = AF = 1
Se LSNibble(AL) 9 e AF=0:
AL = AL AND 0Fh

AAS

? ? ? x ? x

Se LSNibble(AL) > 9 ou AF=1:


AL = AL 06h
AH = AH 01h
AL = AL AND 0Fh
CF = AF = 1

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)

INSTRUES DE MANIPULAO DE FLAG

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

(Carry Flag) CF NOT(CF)

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

dest dest AND fonte

0 x x ? x 0

OR

dest,fonte

dest dest OR fonte

0 x x ? x 0

XOR

dest,fonte

dest dest XOR fonte

0 x x ? x 0

NOT

dest

dest NOT dest

TEST dest,fonte

FLAGS: O S Z A P C

dest AND fonte

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

INSTRUES DE SALTO (JUMP)


CONDICIONAL

FLAGS: O S Z A P C

ROL dest,1

ROL dest,CL

ROR dest,1

ROR dest,CL

INSTRUO

OPERAO

Jcondio desl8

Se condio for verdadeira:


IP IP + 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

JUMP OCORRE SE:

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

Instrues de salto que se baseiam em comparaes:

RCR dest,1

RCR dest,CL

OPERAO COM NMERO


SINALIZADO

J = Jump

JE
JNE
JG
JGE
JL
JLE

E
N
A
B
G
L

ABSOLUTO

x
x

OR = operao lgica ou inclusivo


XOR = operao lgica ou exclusivo

Ver na pgina 8 os teste alternativo


das instrues de salto condicional

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

Instrues que no fazem anlise do estado do ZF (Zero Flag)

INSTRUES DE REPETIO CCLICA


(LOOPS)
INSTRUO
LOOP desl8

OPERAO

FLAGS: O S Z A P C

INSTRUES DE SALTO (JUMP)


INCONDICIONAL
Tipo intrassegmento (NEAR):

CX CX 1 (sem afetar flags)

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

CX CX 1 (sem afetar flags)

LOOPZ desl8

Se (CX 0) e (ZF = 1):


IP IP + desl8

LOOPNE desl8

CX CX 1 (sem afetar flags)

LOOPNZ desl8

Se (CX 0) e (ZF = 0):


IP IP + desl8

FLAGS: O S Z A P C

Tipo intersegmento (FAR):


INSTRUO

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

Tipo intrassegmento (NEAR):


MUL fonte8

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

Tipo intersegmento (FAR):


INSTRUO

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

Tipo intersegmento (FAR):


INSTRUO

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

Flag de direo DF (Direction Flag):

INSTRUES STRINGS

INSTRUO OPERAO

Instrues strings de transferncia:


INSTRUO

OPERAO

MOVSB

ES:[DI] Byte PTR DS:[SI]

FLAGS: O S Z A P C
DF 0

CLD

Incrementar

SI SI 1
DI DI 1
MOVSW

ES:[DI] Word PTR DS:[SI]

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

Byte PTR Byte PTR


ES:[DI] DS:[SI]

Word PTR Word PTR


ES:[DI] DS:[SI]

ES:[DI] AL

INT

Equivale a INT 03h

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

D=x I=x T=x

CS

SS:[SP]

SP

SP + 2

Flags SS:[SP]
SP

Prefixo de repetio das instrues strings:


INSTRUO
STRING

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

Se DF=1 e inst. de 16 bits:


Regnd Regnd 2

Flag TF 0 (armadilha)

Instrues strings de comparao:


OPERAO

Se DF=1 e inst. de 8 bits:


Regnd Regnd 1

Flag IF 0 (interrupo)

ES:[DI] AX
DI DI 2

INSTRUO

Se DF=0 e inst. de 16 bits:


Regnd Regnd + 2

SS:[SP] Flags

DI DI 1
STOSW

Se DF=0 e inst. de 8 bits:


Regnd Regnd + 1

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

Usada para acionar o


co-processador iAPX87.

SCASB SCASW

WAIT

Verifica o estado da linha


#TEST e caso ela esteja com
nvel lgico 1 (alto) suspende a
operao do processador.

CMPSB CMPSW

LOCK Instruo

Faz com que a linha #LOCK


permanea ativa durante a
execuo da prxima 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

(00h porta FFh)


IN AX,porta

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)

TESTE ALTERNATIVO DAS INSTRUES


DE SALTO CONDICIONAL

SINALIZADO

ABSOLUTO

INSTRUO

<
>

<
>

JAE JNB

TESTE

TESTE ALTERNATIVO

CF = 0

CF = 0

JB

JNAE CF = 1

CF = 1

JA

JNBE CF OR ZF = 0

(ZF = 0) AND (CF = 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

JNLE (SF XOR OF) OR ZF = 0 (ZF = 0) AND (SF = OF)

JLE JNG

SMBOLO

DESCRIO

Reg
Reg8
Reg16
RegSeg

operando registro de 8 ou 16 bits


operando registro de 8 bits
operando registro de 16 bits
registro de segmento

[Mem]
[Mem8]
[Mem16]
[Mem32]

operando memria de 8 ou 16 bits


operando memria de 8 bits
operando memria de 16 bits
operando memria de 32 bits

Imed

operando imediato de 8 ou 16 bits

Acum

acumulador de 8 bits (AL) ou de 16 bits (AX)

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

LSByte do offset (endereo efetivo 16 bits)


MSByte do offset (endereo efetivo 16 bits)

LSByte do dado de 16 bits (parte baixa Low)


MSByte do dado de 16 bits (parte alta High)

LSByte do deslocamento de 16 bits (parte baixa Low)


MSByte do deslocamento de 16 bits (parte alta High)

seletorL LSByte do seletor (endereo de segmento 16 bits)


seletorH MSByte do seletor (endereo de segmento 16 bits)
porta

porta de I/O na faixa de 0000h a 00FFh (nmero de 8 bits)

tipo8

tipo da interrupo (nmero de 8 bits na faixa de 00h a FFh)

iAPX87Reg registro do co-processador aritmtico iAPX87

INSTRUO

SF OF

Mem86

INSTRUO

CDIGO DE MQUINA DAS


INSTRUES

N CICLOS
iAPX86 iAPX88

CDIGO DE MQUINA

Nmero de ciclos de clock que um iAPX88


leva, considerando que ele esteja acessando
uma palavra (16 bits).

(SF XOR OF) OR ZF = 1 (ZF = 1) OR (SF OF)

Nmero de ciclos de clock que um iAPX86 leva,


considerando que ele esteja acessando uma
palavra (16 bits) em um endereo par.
Nmero de referncias a memria que um IAPX86 realiza
no acesso ao operando memria de 16 bits, localizado em
uma posio de memria par.

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

instruo com operandos de 8 bits

instruo com operandos de 16 bits

campo REG especifica o operando fonte

campo REG especifica o operando destino

o contador uma constante igual a um

o contador uma constante igual ao contedo de CL

a condio ZF = 0 testada pelo prefixo REPNE/REPNZ

a condio ZF = 1 testada pelo prefixo REPE/REPZ

X:0

instruo de 8 bits com operando imediato de 8 bits

0:1

instruo de 16 bits com operando imediato de 16 bits

1:1

instruo de 16 bits com operando imediato de 8 bits


sinalizado

MODO
MEMRIA

R/M

MOD=00

MODO
REGISTRO

MOD=01

MOD=10

MOD=11

REG

Mem86

INSTRUO

N CICLOS
iAPX86 iAPX88

Nmero de referncias a memria que um IAPX86


realiza no acesso a operandos memria de 16 bits
localizados em posio de memria par.

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

000 BX + SI (7) BX + SI + Desl8 (11) BX + SI + Desl16 (11) AL

AX

001 BX + DI (8) BX + DI + Desl8 (12) BX + DI + Desl16 (12) CL

CX

010 BP + SI (8) BP + SI + Desl8 (12) BP + SI + Desl16 (12) DL

DX

011 BP + DI (7) BP + DI + Desl8 (11) BP + DI + Desl16 (11) BL

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

Desl8 = deslocamento de 8 bits


Desl16 = deslocamento de 16 bits

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

110 DIRETO (6) BP

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

144 a 162 144 a 162

[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

CMPS 2n 9+22n 9+30n 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 W


+2prefixo +2prefixo
5

2+

101 a 112 101 a 112

Reg16

165 a 184 165 a 184

[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

128 a 154 128 a 154

[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

CMPS 2n 9+22n 9+30n 1 1 1 1 0 0 1 1 1 0 1 0 0 1 1 W


+2prefixo +2prefixo

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

118 a 133 118 a 133

[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

CMPS 2n 9+22n 9+30n 1 1 1 1 0 0 1 1 1 0 1 0 0 1 1 W


+2prefixo +2prefixo

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

CMPS 2n 9+22n 9+30n 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 W


+2prefixo +2prefixo

REPNE / REPNZ

SCAS 1n 9+15n 9+19n 1 1 1 1 0 0 1 0 1 0 1 0 1 1 1 W


+2prefixo +2prefixo

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

SCAS 1n 9+15n 9+19n 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 W


+2prefixo +2prefixo

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

SCAS 1n 9+15n 9+19n 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 W


+2prefixo +2prefixo

REPNE/REPNZ

SCAS 1n 9+15n 9+19n 1 1 1 1 0 0 1 0 1 0 1 0 1 1 1 W


+2prefixo +2prefixo

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

Nmero de ciclos de clock que um iAPX88


leva, considerando que ele esteja acessando
uma palavra (16 bits).

00101 10W

Nmero de ciclos de clock que um iAPX86 leva,


considerando que ele esteja acessando uma
palavra (16 bits) em um endereo par.

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

Nmero de referncias a memria que um IAPX86 realiza


no acesso ao operando memria de 16 bits, localizado em
uma posio de memria par.

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

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.

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

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.

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

operando registro de 8 bits


operando registro de 16 bits

Imed8
Imed8s
Imed16

BYTES DO CDIGO DE MQUINA


HEX

CDIGO DE MQUINA DAS


INSTRUES POR NUMERAO

INSTRUO

00 0000 0000 00 REG 110 offL offH

ADD [offset],Reg8

00 0000 0000 00 REG R/M

ADD [Mem8],Reg8

00 0000 0000 01 REG R/M D8

ADD [Mem8+D8],Reg8

00 0000 0000 10 REG R/M D16L D16H

ADD [Mem8+D16],Reg8

00 0000 0000 11 REG R/M

ADD Reg8,Reg8

01 0000 0001 00 REG 110 offL offH

ADD [offset],Reg16

01 0000 0001 00 REG R/M

ADD [Mem16],Reg16

01 0000 0001 01 REG R/M D8

ADD [Mem16+D8],Reg16

01 0000 0001 10 REG R/M D16L D16H

ADD [Mem16+D16],Reg16

01 0000 0001 11 REG R/M

ADD Reg16,Reg16

02 0000 0010 00 REG 110 offL offH

ADD Reg8,[offset]

02 0000 0010 00 REG R/M

ADD Reg8,[Mem8]

02 0000 0010 01 REG R/M D8

ADD Reg8,[Mem8+D8]

02 0000 0010 10 REG R/M D16L D16H

ADD Reg8,[Mem8+D16]

02 0000 0010 11 REG R/M

ADD Reg8,Reg8

03 0000 0011 00 REG 110 offL offH

ADD Reg16,[offset]

03 0000 0011 00 REG R/M

ADD Reg16,[Mem16]

03 0000 0011 01 REG R/M D8

ADD Reg16,[Mem16+D8]

03 0000 0011 10 REG R/M D16L D16H

ADD Reg16,[Mem16+D16]

03 0000 0011 11 REG R/M

ADD Reg16,Reg16

operando imediato de 8 bits


operando imediato de 8 bits sinalizado
operando imediato de 16 bits

04 0000 0100 I8

ADD AL,Imed8

07 0000 0111

POP ES

[Mem]
[Mem+D8]
[Mem+D16]

operando memria sem deslocamento


operando memria com deslocamento de 8 bits
operando memria com deslocamento de 16 bits

08 0000 1000 00 REG 110 offL offH

OR [offset],Reg8

08 0000 1000 00 REG R/M

OR [Mem8],Reg8

08 0000 1000 01 REG R/M D8

OR [Mem8+D8],Reg8

08 0000 1000 10 REG R/M D16L D16H

OR [Mem8+D16],Reg8

[Mem8]
[Mem8+D8]
[Mem8+D16]

operando memria de 8 bits sem deslocamento


operando memria de 8 bits com deslocamento de 8 bits
operando memria de 8 bits com deslocamento de 16 bits

08 0000 1000 11 REG R/M

OR Reg8,Reg8

09 0000 1001 00 REG 110 offL offH

OR [offset],Reg16

09 0000 1001 00 REG R/M

OR [Mem16],Reg16

09 0000 1001 01 REG R/M D8

OR [Mem16+D8],Reg16

09 0000 1001 10 REG R/M D16L D16H

OR [Mem16+D16],Reg16

09 0000 1001 11 REG R/M

OR Reg16,Reg16

0A 0000 1010 00 REG 110 offL offH

OR Reg8,[offset]

0A 0000 1010 00 REG R/M

OR Reg8,[Mem8]

0A 0000 1010 01 REG R/M D8

OR Reg8,[Mem8+D8]

0A 0000 1010 10 REG R/M D16L D16H

OR Reg8,[Mem8+D16]

0A 0000 1010 11 REG R/M

OR Reg8,Reg8

0B 0000 1011 00 REG 110 offL offH

OR Reg16,[offset]

0B 0000 1011 00 REG R/M

OR Reg16,[Mem16]

0B 0000 1011 01 REG R/M D8

OR Reg16,[Mem16+D8]

0B 0000 1011 10 REG R/M D16L D16H

OR Reg16,[Mem16+D16]

operando memria de 16 bits sem deslocamento


[Mem16]
[Mem16+D8] operando memria de 16 bits com deslocamento de 8 bits
[Mem16+D16] operando memria de 16 bits com deslocamento de 16 bits
[offset]

operando memria especificado pelo


modo de endereamento direto

byte ptr
word ptr

operando memria referenciado na forma de byte


operando memria referenciado na forma de word

near ptr

operando memria referenciado na forma de word


(desvio do tipo intrassegmento)
operando memria referenciado na forma de dword
(desvio do tipo intersegmento)

far ptr
iAPX87Reg

registro do processador numrico iAPX87

05 0000 0101 I16L

I16H

06 0000 0110

ADD AX,Imed16
PUSH ES

0B 0000 1011 11 REG R/M

OR Reg16,Reg16

0C 0000 1100 I8

OR AL,Imed8

0D 0000 1101 I16L

I16H

0E 0000 1110

OR AX,Imed16

0F 0000 1111

PUSH CS
No permitido

10 0001 0000 00 REG 110 offL offH

ADC [offset],Reg8

10 0001 0000 00 REG R/M

ADC [Mem8],Reg8

10 0001 0000 01 REG R/M D8

ADC [Mem8+D8],Reg8

10 0001 0000 10 REG R/M D16L D16H

ADC [Mem8+D16],Reg8

10 0001 0000 11 REG R/M

ADC Reg8,Reg8

11 0001 0001 00 REG 110 offL offH

ADC [offset],Reg16

11 0001 0001 00 REG R/M

ADC [Mem16],Reg16

11 0001 0001 01 REG R/M D8

ADC [Mem16+D8],Reg16

11 0001 0001 10 REG R/M D16L D16H

ADC [Mem16+D16],Reg16

11 0001 0001 11 REG R/M

ADC Reg16,Reg16

12 0001 0010 00 REG 110 offL offH

ADC Reg8,[offset]

12 0001 0010 00 REG R/M

ADC Reg8,[Mem8]

12 0001 0010 01 REG R/M D8

ADC Reg8,[Mem8+D8]

12 0001 0010 10 REG R/M D16L D16H

ADC Reg8,[Mem8+D16]

12 0001 0010 11 REG R/M

ADC Reg8,Reg8

13 0001 0011 00 REG 110 offL offH

ADC Reg16,[offset]

13 0001 0011 00 REG R/M

ADC Reg16,[Mem16]

13 0001 0011 01 REG R/M D8

ADC Reg16,[Mem16+D8]

13 0001 0011 10 REG R/M D16L D16H

ADC Reg16,[Mem16+D16]

(POP CS)

BYTES DO CDIGO DE MQUINA


INSTRUO

HEX

HEX

BYTES DO CDIGO DE MQUINA

13 0001 0011 11 REG R/M

ADC Reg16,Reg16

2A 0010 1010 11 REG R/M

SUB Reg8,Reg8

14 0001 0100 I8

ADC AL,Imed8

2B 0010 1011 00 REG 110 offL offH

SUB Reg16,[offset]

ADC AX,Imed16

2B 0010 1011 00 REG R/M

SUB Reg16,[Mem16]

16 0001 0110

PUSH SS

2B 0010 1011 01 REG R/M D8

SUB Reg16,[Mem16+D8]

17 0001 0111

POP SS

2B 0010 1011 10 REG R/M D16L D16H

SUB Reg16,[Mem16+D16]

18 0001 1000 00 REG 110 offL offH

SBB [offset],Reg8

2B 0010 1011 11 REG R/M

SUB Reg16,Reg16

18 0001 1000 00 REG R/M

SBB [Mem8],Reg8

2C 0010 1100 I8

SUB AL,Imed8

18 0001 1000 01 REG R/M D8

SBB [Mem8+D8],Reg8

2D 0010 1101 I16L

18 0001 1000 10 REG R/M D16L D16H

SBB [Mem8+D16],Reg8

2E 0010 1110

18 0001 1000 11 REG R/M

SBB Reg8,Reg8

2F 0010 1111

DAS

19 0001 1001 00 REG 110 offL offH

SBB [offset],Reg16

30 0011 0000 00 REG 110 offL offH

XOR [offset],Reg8

19 0001 1001 00 REG R/M

SBB [Mem16],Reg16

30 0011 0000 00 REG R/M

XOR [Mem8],Reg8

19 0001 1001 01 REG R/M D8

SBB [Mem16+D8],Reg16

30 0011 0000 01 REG R/M D8

XOR [Mem8+D8],Reg8

19 0001 1001 10 REG R/M D16L D16H

SBB [Mem16+D16],Reg16

30 0011 0000 10 REG R/M D16L D16H

XOR [Mem8+D16],Reg8

19 0001 1001 11 REG R/M

SBB Reg16,Reg16

30 0011 0000 11 REG R/M

XOR Reg8,Reg8

1A 0001 1010 00 REG 110 offL offH

SBB Reg8,[offset]

31 0011 0001 00 REG 110 offL offH

XOR [offset],Reg16

1A 0001 1010 00 REG R/M

SBB Reg8,[Mem8]

31 0011 0001 00 REG R/M

XOR [Mem16],Reg16

1A 0001 1010 01 REG R/M D8

SBB Reg8,[Mem8+D8]

31 0011 0001 01 REG R/M D8

XOR [Mem16+D8],Reg16

1A 0001 1010 10 REG R/M D16L D16H

SBB Reg8,[Mem8+D16]

31 0011 0001 10 REG R/M D16L D16H

XOR [Mem16+D16],Reg16

1A 0001 1010 11 REG R/M

SBB Reg8,Reg8

31 0011 0001 11 REG R/M

XOR Reg16,Reg16

1B 0001 1011 00 REG 110 offL offH

SBB Reg16,[offset]

32 0011 0010 00 REG 110 offL offH

XOR Reg8,[offset]

1B 0001 1011 00 REG R/M

SBB Reg16,[Mem16]

32 0011 0010 00 REG R/M

XOR Reg8,[Mem8]

1B 0001 1011 01 REG R/M D8

SBB Reg16,[Mem16+D8]

32 0011 0010 01 REG R/M D8

XOR Reg8,[Mem8+D8]

1B 0001 1011 10 REG R/M D16L D16H

SBB Reg16,[Mem16+D16]

32 0011 0010 10 REG R/M D16L D16H

XOR Reg8,[Mem8+D16]

1B 0001 1011 11 REG R/M

SBB Reg16,Reg16

32 0011 0010 11 REG R/M

XOR Reg8,Reg8

1C 0001 1100 I8

SBB AL,Imed8

33 0011 0011 00 REG 110 offL offH

XOR Reg16,[offset]

SBB AX,Imed16

33 0011 0011 00 REG R/M

XOR Reg16,[Mem16]

1E 0001 1110

PUSH DS

33 0011 0011 01 REG R/M D8

XOR Reg16,[Mem16+D8]

1F 0001 1111

POP DS

33 0011 0011 10 REG R/M D16L D16H

XOR Reg16,[Mem16+D16]

20 0010 0000 00 REG 110 offL offH

AND [offset],Reg8

33 0011 0011 11 REG R/M

XOR Reg16,Reg16

20 0010 0000 00 REG R/M

AND [Mem8],Reg8

34 0011 0100 I8

XOR AL,Imed8

20 0010 0000 01 REG R/M D8

AND [Mem8+D8],Reg8

35 0011 0101 I16L

20 0010 0000 10 REG R/M D16L D16H

AND [Mem8+D16],Reg8

36 0011 0110

20 0010 0000 11 REG R/M

AND Reg8,Reg8

37 0011 0111

AAA

21 0010 0001 00 REG 110 offL offH

AND [offset],Reg16

38 0011 1000 00 REG 110 offL offH

CMP [offset],Reg8

21 0010 0001 00 REG R/M

AND [Mem16],Reg16

38 0011 1000 00 REG R/M

CMP [Mem8],Reg8

21 0010 0001 01 REG R/M D8

AND [Mem16+D8],Reg16

38 0011 1000 01 REG R/M D8

CMP [Mem8+D8],Reg8

21 0010 0001 10 REG R/M D16L D16H

AND [Mem16+D16],Reg16

38 0011 1000 10 REG R/M D16L D16H

CMP [Mem8+D16],Reg8

21 0010 0001 11 REG R/M

AND Reg16,Reg16

38 0011 1000 11 REG R/M

CMP Reg8,Reg8

22 0010 0010 00 REG 110 offL offH

AND Reg8,[offset]

39 0011 1001 00 REG 110 offL offH

CMP [offset],Reg16

22 0010 0010 00 REG R/M

AND Reg8,[Mem8]

39 0011 1001 00 REG R/M

CMP [Mem16],Reg16

22 0010 0010 01 REG R/M D8

AND Reg8,[Mem8+D8]

39 0011 1001 01 REG R/M D8

CMP [Mem16+D8],Reg16

22 0010 0010 10 REG R/M D16L D16H

AND Reg8,[Mem8+D16]

39 0011 1001 10 REG R/M D16L D16H

CMP [Mem16+D16],Reg16

22 0010 0010 11 REG R/M

AND Reg8,Reg8

39 0011 1001 11 REG R/M

CMP Reg16,Reg16

23 0010 0011 00 REG 110 offL offH

AND Reg16,[offset]

3A 0011 1010 00 REG 110 offL offH

CMP Reg8,[offset]

23 0010 0011 00 REG R/M

AND Reg16,[Mem16]

3A 0011 1010 00 REG R/M

CMP Reg8,[Mem8]

23 0010 0011 01 REG R/M D8

AND Reg16,[Mem16+D8]

3A 0011 1010 01 REG R/M D8

CMP Reg8,[Mem8+D8]

23 0010 0011 10 REG R/M D16L D16H

AND Reg16,[Mem16+D16]

3A 0011 1010 10 REG R/M D16L D16H

CMP Reg8,[Mem8+D16]

23 0010 0011 11 REG R/M

AND Reg16,Reg16

3A 0011 1010 11 REG R/M

CMP Reg8,Reg8

24 0010 0100 I8

AND AL,Imed8

3B 0011 1011 00 REG 110 offL offH

CMP Reg16,[offset]

AND AX,Imed16

3B 0011 1011 00 REG R/M

CMP Reg16,[Mem16]

26 0010 0110

Override Prefix ES

3B 0011 1011 01 REG R/M D8

CMP Reg16,[Mem16+D8]

27 0010 0111

DAA

3B 0011 1011 10 REG R/M D16L D16H

CMP Reg16,[Mem16+D16]

28 0010 1000 00 REG 110 offL offH

SUB [offset],Reg8

3B 0011 1011 11 REG R/M

CMP Reg16,Reg16

28 0010 1000 00 REG R/M

SUB [Mem8],Reg8

3C 0011 1100 I8

CMP AL,Imed8

28 0010 1000 01 REG R/M D8

SUB [Mem8+D8],Reg8

3D 0011 1101 I16L

28 0010 1000 10 REG R/M D16L D16H

SUB [Mem8+D16],Reg8

3E 0011 1110

Override Prefix DS

28 0010 1000 11 REG R/M

SUB Reg8,Reg8

3F 0011 1111

AAS

29 0010 1001 00 REG 110 offL offH

SUB [offset],Reg16

40 0100 0000

INC AX

29 0010 1001 00 REG R/M

SUB [Mem16],Reg16

41 0100 0001

INC CX

29 0010 1001 01 REG R/M D8

SUB [Mem16+D8],Reg16

42 0100 0010

INC DX

29 0010 1001 10 REG R/M D16L D16H

SUB [Mem16+D16],Reg16

43 0100 0011

INC BX

29 0010 1001 11 REG R/M

SUB Reg16,Reg16

44 0100 0100

INC SP

2A 0010 1010 00 REG 110 offL offH

SUB Reg8,[offset]

45 0100 0101

INC BP

2A 0010 1010 00 REG R/M

SUB Reg8,[Mem8]

46 0100 0110

INC SI

2A 0010 1010 01 REG R/M D8

SUB Reg8,[Mem8+D8]

47 0100 0111

INC DI

2A 0010 1010 10 REG R/M D16L D16H

SUB Reg8,[Mem8+D16]

48 0100 1000

DEC AX

15 0001 0101 I16L

1D 0001 1101 I16L

25 0010 0101 I16L

I16H

I16H

I16H

I16H

INSTRUO

SUB AX,Imed16
Override Prefix CS

I16H

XOR AX,Imed16
Override Prefix SS

I16H

CMP AX,Imed16

BYTES DO CDIGO DE MQUINA


INSTRUO

HEX

HEX

BYTES DO CDIGO DE MQUINA

49 0100 1001

DEC CX

80 1000 0000 10 001 R/M D16L D16H I8

OR [Mem8+D16],Imed8

4A 0100 1010

DEC DX

80 1000 0000 10 010 R/M D16L D16H I8

ADC [Mem8+D16],Imed8

4B 0100 1011

DEC BX

80 1000 0000 10 011 R/M D16L D16H I8

SBB [Mem8+D16],Imed8

4C 0100 1100

DEC SP

80 1000 0000 10 100 R/M D16L D16H I8

AND [Mem8+D16],Imed8

4D 0100 1101

DEC BP

80 1000 0000 10 101 R/M D16L D16H I8

SUB [Mem8+D16],Imed8

4E 0100 1110

DEC SI

80 1000 0000 10 110 R/M D16L D16H I8

XOR [Mem8+D16],Imed8

4F 0100 1111

DEC DI

80 1000 0000 10 111 R/M D16L D16H I8

CMP [Mem8+D16],Imed8

50 0101 0000

PUSH AX

80 1000 0000 11 000 R/M I8

ADD Reg8,Imed8

51 0101 0001

PUSH CX

80 1000 0000 11 001 R/M I8

OR Reg8,Imed8

52 0101 0010

PUSH DX

80 1000 0000 11 010 R/M I8

ADC Reg8,Imed8

53 0101 0011

PUSH BX

80 1000 0000 11 011 R/M I8

SBB Reg8,Imed8

54 0101 0100

PUSH SP

80 1000 0000 11 100 R/M I8

AND Reg8,Imed8

55 0101 0101

PUSH BP

80 1000 0000 11 101 R/M I8

SUB Reg8,Imed8

56 0101 0110

PUSH SI

80 1000 0000 11 110 R/M I8

XOR Reg8,Imed8

57 0101 0111

PUSH DI

80 1000 0000 11 111 R/M I8

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

81 1000 0001 00 000 R/M I16L I16H

5A 0101 1010

POP DX

81 1000 0001 00 001 110 offL offH I16L I16H OR [offset],Imed16

5B 0101 1011

POP BX

81 1000 0001 00 001 R/M I16L I16H

5C 0101 1100

POP SP

81 1000 0001 00 010 110 offL offH I16L I16H ADC [offset],Imed16

5D 0101 1101

POP BP

81 1000 0001 00 010 R/M I16L I16H

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

81 1000 0001 00 011 R/M I16L I16H

6x 0110 xxxx
70 0111 0000 D8

JO

D8

81 1000 0001 00 100 R/M I16L I16H

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

81 1000 0001 00 101 R/M I16L I16H

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

81 1000 0001 00 110 R/M I16L I16H

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

81 1000 0001 00 111 R/M I16L I16H

CMP [Mem16],Imed16

75 0111 0101 D8

JNE / JNZ

D8

81 1000 0001 01 000 R/M D8

I16L I16H

ADD [Mem16+D8],Imed16

76 0111 0110 D8

JBE / JNA

D8

81 1000 0001 01 001 R/M D8

I16L I16H

OR [Mem16+D8],Imed16

77 0111 0111 D8

JA / JNBE D8

81 1000 0001 01 010 R/M D8

I16L I16H

ADC [Mem16+D8],Imed16

78 0111 1000 D8

JS

D8

81 1000 0001 01 011 R/M D8

I16L I16H

SBB [Mem16+D8],Imed16

79 0111 1001 D8

JNS

D8

81 1000 0001 01 100 R/M D8

I16L I16H

AND [Mem16+D8],Imed16

7A 0111 1010 D8

JP / JPE

D8

81 1000 0001 01 101 R/M D8

I16L I16H

SUB [Mem16+D8],Imed16

7B 0111 1011 D8

JNP / JPO

D8

81 1000 0001 01 110 R/M D8

I16L I16H

XOR [Mem16+D8],Imed16

7C 0111 1100 D8

JL / JNGE D8

81 1000 0001 01 111 R/M 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

81 1000 0001 10 001 R/M D16L D16H I16L I16H OR [Mem16+D16],Imed16

7F 0111 1111 D8

JG / JNLE D8

81 1000 0001 10 010 R/M D16L D16H I16L I16H ADC [Mem16+D16],Imed16

80 1000 0000 00 000 110 offL offH I8

ADD [offset],Imed8

81 1000 0001 10 011 R/M D16L D16H I16L I16H SBB [Mem16+D16],Imed16

80 1000 0000 00 000 R/M I8

ADD [Mem8],Imed8

81 1000 0001 10 100 R/M D16L D16H I16L I16H AND [Mem16+D16],Imed16

80 1000 0000 00 001 110 offL offH I8

OR [offset],Imed8

81 1000 0001 10 101 R/M D16L D16H I16L I16H SUB [Mem16+D16],Imed16

80 1000 0000 00 001 R/M I8

OR [Mem8],Imed8

81 1000 0001 10 110 R/M D16L D16H I16L I16H XOR [Mem16+D16],Imed16

80 1000 0000 00 010 110 offL offH I8

ADC [offset],Imed8

81 1000 0001 10 111 R/M D16L D16H I16L I16H CMP [Mem16+D16],Imed16

80 1000 0000 00 010 R/M I8

ADC [Mem8],Imed8

81 1000 0001 11 000 R/M I16L I16H

ADD Reg16,Imed16

80 1000 0000 00 011 110 offL offH I8

SBB [offset],Imed8

81 1000 0001 11 001 R/M I16L I16H

OR Reg16,Imed16

80 1000 0000 00 011 R/M I8

SBB [Mem8],Imed8

81 1000 0001 11 010 R/M I16L I16H

ADC Reg16,Imed16

80 1000 0000 00 100 110 offL offH I8

AND [offset],Imed8

81 1000 0001 11 011 R/M I16L I16H

SBB Reg16,Imed16

80 1000 0000 00 100 R/M I8

AND [Mem8],Imed8

81 1000 0001 11 100 R/M I16L I16H

AND Reg16,Imed16

80 1000 0000 00 101 110 offL offH I8

SUB [offset],Imed8

81 1000 0001 11 101 R/M I16L I16H

SUB Reg16,Imed16

80 1000 0000 00 101 R/M I8

SUB [Mem8],Imed8

81 1000 0001 11 110 R/M I16L I16H

XOR Reg16,Imed16

80 1000 0000 00 110 110 offL offH I8

XOR [offset],Imed8

81 1000 0001 11 111 R/M I16L I16H

CMP Reg16,Imed16

80 1000 0000 00 110 R/M I8

XOR [Mem8],Imed8

82 1000 0010 00 000 110 offL offH I8

ADD [offset],Imed8

80 1000 0000 00 111 110 offL offH I8

CMP [offset],Imed8

82 1000 0010 00 000 R/M I8

ADD [Mem8],Imed8

80 1000 0000 00 111 R/M I8

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

82 1000 0010 00 001 110 offL offH I8

OR [offset],Imed8

80 1000 0000 01 000 R/M D8

I8

ADD [Mem8+D8],Imed8

82 1000 0010 00 001 R/M I8

OR [Mem8],Imed8

80 1000 0000 01 001 R/M D8

I8

OR [Mem8+D8],Imed8

82 1000 0010 00 010 110 offL offH I8

ADC [offset],Imed8

80 1000 0000 01 010 R/M D8

I8

ADC [Mem8+D8],Imed8

82 1000 0010 00 010 R/M I8

ADC [Mem8],Imed8

80 1000 0000 01 011 R/M D8

I8

SBB [Mem8+D8],Imed8

82 1000 0010 00 011 110 offL offH I8

SBB [offset],Imed8

80 1000 0000 01 100 R/M D8

I8

AND [Mem8+D8],Imed8

82 1000 0010 00 011 R/M I8

SBB [Mem8],Imed8

80 1000 0000 01 101 R/M D8

I8

SUB [Mem8+D8],Imed8

82 1000 0010 00 100 110 offL offH I8

AND [offset],Imed8

80 1000 0000 01 110 R/M D8

I8

XOR [Mem8+D8],Imed8

82 1000 0010 00 100 R/M I8

AND [Mem8],Imed8

80 1000 0000 01 111 R/M D8

I8

CMP [Mem8+D8],Imed8

82 1000 0010 00 101 110 offL offH I8

SUB [offset],Imed8

ADD [Mem8+D16],Imed8

82 1000 0010 00 101 R/M I8

SUB [Mem8],Imed8

80 1000 0000 10 000 R/M D16L D16H I8

BYTES DO CDIGO DE MQUINA


INSTRUO

HEX

HEX

BYTES DO CDIGO DE MQUINA

82 1000 0010 00 110 110 offL offH I8

XOR [offset],Imed8

83 1000 0011 11 111 R/M I8s

CMP Reg16,Imed8s

82 1000 0010 00 110 R/M I8

XOR [Mem8],Imed8

84 1000 0100 00 REG 110 offL offH

TEST [offset],Reg8

82 1000 0010 00 111 110 offL offH I8

CMP [offset],Imed8

84 1000 0100 00 REG R/M

TEST [Mem8],Reg8

82 1000 0010 00 111 R/M I8

CMP [Mem8],Imed8

84 1000 0100 01 REG R/M D8

TEST [Mem8+D8],Reg8

INSTRUO

82 1000 0010 01 000 R/M D8

I8

ADD [Mem8+D8],Imed8

84 1000 0100 10 REG R/M D16L D16H

TEST [Mem8+D16],Reg8

82 1000 0010 01 001 R/M D8

I8

OR [Mem8+D8],Imed8

84 1000 0100 11 REG R/M

TEST Reg8(R/M),Reg8(REG)

82 1000 0010 01 010 R/M D8

I8

ADC [Mem8+D8],Imed8

85 1000 0101 00 REG 110 offL offH

TEST [offset],Reg16

82 1000 0010 01 011 R/M D8

I8

SBB [Mem8+D8],Imed8

85 1000 0101 00 REG R/M

TEST [Mem16],Reg16

82 1000 0010 01 100 R/M D8

I8

AND [Mem8+D8],Imed8

85 1000 0101 01 REG R/M D8

TEST [Mem16+D8],Reg16

82 1000 0010 01 101 R/M D8

I8

SUB [Mem8+D8],Imed8

85 1000 0101 10 REG R/M D16L D16H

TEST [Mem16+D16],Reg16

82 1000 0010 01 110 R/M D8

I8

XOR [Mem8+D8],Imed8

85 1000 0101 11 REG R/M

TEST Reg16(R/M),Reg16(REG)

82 1000 0010 01 111 R/M D8

I8

CMP [Mem8+D8],Imed8

86 1000 0110 00 REG 110 offL offH

XCHG [offset],Reg8

82 1000 0010 10 000 R/M D16L D16H I8

ADD [Mem8+D16],Imed8

86 1000 0110 00 REG R/M

XCHG [Mem8],Reg8

82 1000 0010 10 001 R/M D16L D16H I8

OR [Mem8+D16],Imed8

86 1000 0110 01 REG R/M D8

XCHG [Mem8+D8],Reg8

82 1000 0010 10 010 R/M D16L D16H I8

ADC [Mem8+D16],Imed8

86 1000 0110 10 REG R/M D16L D16H

XCHG [Mem8+D16],Reg8

82 1000 0010 10 011 R/M D16L D16H I8

SBB [Mem8+D16],Imed8

86 1000 0110 11 REG R/M

XCHG Reg8(R/M),Reg8(REG)

82 1000 0010 10 100 R/M D16L D16H I8

AND [Mem8+D16],Imed8

87 1000 0111 00 REG 110 offL offH

XCHG [offset],Reg16

82 1000 0010 10 101 R/M D16L D16H I8

SUB [Mem8+D16],Imed8

87 1000 0111 00 REG R/M

XCHG [Mem16],Reg16

82 1000 0010 10 110 R/M D16L D16H I8

XOR [Mem8+D16],Imed8

87 1000 0111 01 REG R/M D8

XCHG [Mem16+D8],Reg16

82 1000 0010 10 111 R/M D16L D16H I8

CMP [Mem8+D16],Imed8

87 1000 0111 10 REG R/M D16L D16H

XCHG [Mem16+D16],Reg16

82 1000 0010 11 000 R/M I8

ADD Reg8,Imed8

87 1000 0111 11 REG R/M

XCHG Reg16(R/M),Reg16(REG)

82 1000 0010 11 001 R/M I8

OR Reg8,Imed8

88 1000 1000 00 REG 110 offL offH

MOV [offset],Reg8

82 1000 0010 11 010 R/M I8

ADC Reg8,Imed8

88 1000 1000 00 REG R/M

MOV [Mem8],Reg8

82 1000 0010 11 011 R/M I8

SBB Reg8,Imed8

88 1000 1000 01 REG R/M D8

MOV [Mem8+D8],Reg8

82 1000 0010 11 100 R/M I8

AND Reg8,Imed8

88 1000 1000 10 REG R/M D16L D16H

MOV [Mem8+D16],Reg8

82 1000 0010 11 101 R/M I8

SUB Reg8,Imed8

88 1000 1000 11 REG R/M

MOV Reg8,Reg8

82 1000 0010 11 110 R/M I8

XOR Reg8,Imed8

89 1000 1001 00 REG 110 offL offH

MOV [offset],Reg16

82 1000 0010 11 111 R/M I8

CMP Reg8,Imed8

89 1000 1001 00 REG R/M

MOV [Mem16],Reg16

83 1000 0011 00 000 110 offL offH I8s

ADD [offset],Imed8s

89 1000 1001 01 REG R/M D8

MOV [Mem16+D8],Reg16

83 1000 0011 00 000 R/M I8s

ADD [Mem16],Imed8s

89 1000 1001 10 REG R/M D16L D16H

MOV [Mem16+D16],Reg16

83 1000 0011 00 001 110 offL offH I8s

OR [offset],Imed8s

89 1000 1001 11 REG R/M

MOV Reg16,Reg16

83 1000 0011 00 001 R/M I8s

OR [Mem16],Imed8s

8A 1000 1010 00 REG 110 offL offH

MOV Reg8,[offset]

83 1000 0011 00 010 110 offL offH I8s

ADC [offset],Imed8s

8A 1000 1010 00 REG R/M

MOV Reg8,[Mem8]

83 1000 0011 00 010 R/M I8s

ADC [Mem16],Imed8s

8A 1000 1010 01 REG R/M D8

MOV Reg8,[Mem8+D8]

83 1000 0011 00 011 110 offL offH I8s

SBB [offset],Imed8s

8A 1000 1010 10 REG R/M D16L D16H

MOV Reg8,[Mem8+D16]

83 1000 0011 00 011 R/M I8s

SBB [Mem16],Imed8s

8A 1000 1010 11 REG R/M

MOV Reg8,Reg8

83 1000 0011 00 100 110 offL offH I8s

AND [offset],Imed8s

8B 1000 1011 00 REG 110 offL offH

MOV Reg16,[offset]

83 1000 0011 00 100 R/M I8s

AND [Mem16],Imed8s

8B 1000 1011 00 REG R/M

MOV Reg16,[Mem16]

83 1000 0011 00 101 110 offL offH I8s

SUB [offset],Imed8s

8B 1000 1011 01 REG R/M D8

MOV Reg16,[Mem16+D8]

83 1000 0011 00 101 R/M I8s

SUB [Mem16],Imed8s

8B 1000 1011 10 REG R/M D16L D16H

MOV Reg16,[Mem16+D16]

83 1000 0011 00 110 110 offL offH I8s

XOR [offset],Imed8s

8B 1000 1011 11 REG R/M

MOV Reg16,Reg16

83 1000 0011 00 110 R/M I8s

XOR [Mem16],Imed8s

8C 1000 1100 00 0RS 110 offL offH

MOV [offset],RegSeg

83 1000 0011 00 111 110 offL offH I8s

CMP [offset],Imed8s

8C 1000 1100 00 0RS R/M

MOV [Mem16],RegSeg

83 1000 0011 00 111 R/M I8s

CMP [Mem16],Imed8s

8C 1000 1100 01 0RS R/M D8

MOV [Mem16+D8],RegSeg

83 1000 0011 01 000 R/M D8

I8s

ADD [Mem16+D8],Imed8s

8C 1000 1100 10 0RS R/M D16L D16H

MOV [Mem16+D16],RegSeg

83 1000 0011 01 001 R/M D8

I8s

OR [Mem16+D8],Imed8s

8C 1000 1100 11 0RS R/M

83 1000 0011 01 010 R/M D8

I8s

ADC [Mem16+D8],Imed8s

8C 1000 1100 xx 1xx xxx

MOV Reg16,RegSeg
No implementado

83 1000 0011 01 011 R/M D8

I8s

SBB [Mem16+D8],Imed8s

8D 1000 1101 00 REG 110 offL offH

LEA Reg16,[offset]

83 1000 0011 01 100 R/M D8

I8s

AND [Mem16+D8],Imed8s

8D 1000 1101 00 REG R/M

LEA Reg16,[Mem]

83 1000 0011 01 101 R/M D8

I8s

SUB [Mem16+D8],Imed8s

8D 1000 1101 01 REG R/M D8

LEA Reg16,[Mem+D8]

83 1000 0011 01 110 R/M D8

I8s

XOR [Mem16+D8],Imed8s

8D 1000 1101 10 REG R/M D16L D16H

83 1000 0011 01 111 R/M D8

I8s

CMP [Mem16+D8],Imed8s

8D 1000 1101 11 REG R/M

LEA Reg16,[Mem+D16]
No permitido (LEA Reg16,Reg16)

83 1000 0011 10 000 R/M D16L D16H I8s

ADD [Mem16+D16],Imed8s

8E 1000 1110 00 0RS 110 offL offH

MOV RegSeg.[offset]

83 1000 0011 10 001 R/M D16L D16H I8s

OR [Mem16+D16],Imed8s

8E 1000 1110 00 0RS R/M

MOV RegSeg.[Mem16]

83 1000 0011 10 010 R/M D16L D16H I8s

ADC [Mem16+D16],Imed8s

8E 1000 1110 01 0RS R/M D8

MOV RegSeg.[Mem16+D8]

83 1000 0011 10 011 R/M D16L D16H I8s

SBB [Mem16+D16],Imed8s

8E 1000 1110 10 0RS R/M D16L D16H

MOV RegSeg.[Mem16+D16]

83 1000 0011 10 100 R/M D16L D16H I8s

AND [Mem16+D16],Imed8s

8E 1000 1110 11 0RS R/M

83 1000 0011 10 101 R/M D16L D16H I8s

SUB [Mem16+D16],Imed8s

8E 1000 1110 xx 1xx xxx

MOV RegSeg.Reg16
No implementado

83 1000 0011 10 110 R/M D16L D16H I8s

XOR [Mem16+D16],Imed8s

8F 1000 1111 00 000 110 offL offH

POP word ptr [offset]

83 1000 0011 10 111 R/M D16L D16H I8s

CMP [Mem16+D16],Imed8s

8F 1000 1111 00 000 R/M

POP [Mem16]

83 1000 0011 11 000 R/M I8s

ADD Reg16,Imed8s

8F 1000 1111 01 000 R/M D8

POP [Mem16+D8]

83 1000 0011 11 001 R/M I8s

OR Reg16,Imed8s

8F 1000 1111 10 000 R/M D16L D16H

POP [Mem16+D16]

83 1000 0011 11 010 R/M I8s

ADC Reg16,Imed8s

8F 1000 1111 11 000 R/M

83 1000 0011 11 011 R/M I8s

SBB Reg16,Imed8s

8F 1000 1111 xx 001 xxx

POP Reg16
No implementado

83 1000 0011 11 100 R/M I8s

AND Reg16,Imed8s

8F 1000 1111 xx 010 xxx

No implementado

83 1000 0011 11 101 R/M I8s

SUB Reg16,Imed8s

8F 1000 1111 xx 011 xxx

No implementado

83 1000 0011 11 110 R/M I8s

XOR Reg16,Imed8s

8F 1000 1111 xx 100 xxx

No implementado

BYTES DO CDIGO DE MQUINA


INSTRUO

HEX

HEX

BYTES DO CDIGO DE MQUINA

8F 1000 1111 xx 101 xxx

No implementado

C6 1100 0110 00 000 R/M I8

8F 1000 1111 xx 110 xxx

No implementado

C6 1100 0110 01 000 R/M D8

8F 1000 1111 xx 111 xxx

No implementado

C6 1100 0110 10 000 R/M D16L D16H I8

MOV [Mem8+D16],Imed8

90 1001 0000

NOP

C6 1100 0110 11 000 R/M I8

90 1001 0000

XCHG AX,AX

C6 1100 0110 xx 001 xxx

MOV Reg8,Imed8
No implementado

91 1001 0001

XCHG CX,AX

C6 1100 0110 xx 010 xxx

No implementado

92 1001 0010

XCHG DX,AX

C6 1100 0110 xx 011 xxx

No implementado

93 1001 0011

XCHG BX,AX

C6 1100 0110 xx 100 xxx

No implementado

94 1001 0100

XCHG SP,AX

C6 1100 0110 xx 101 xxx

No implementado

95 1001 0101

XCHG BP,AX

C6 1100 0110 Xx 110 xxx

No implementado

96 1001 0110

XCHG SI,AX

C6 1100 0110 Xx 111 xxx

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

C7 1100 0111 00 000 R/M I16L I16H

MOV [Mem16],Imed16

99 1001 1001

CWD

C7 1100 0111 01 000 R/M D8

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

C7 1100 0111 11 000 R/M I16L I16H

9C 1001 1100

PUSHF

C7 1100 0111 xx 001 xxx

MOV Reg16,Imed16
No implementado

9D 1001 1101

POPF

C7 1100 0111 xx 010 xxx

No implementado

9E 1001 1110

SAHF

C7 1100 0111 xx 011 xxx

No implementado

9F 1001 1111

LAHF

C7 1100 0111 xx 100 xxx

No implementado

9A 1001 1010 offL

offH selL selH

INSTRUO
MOV [Mem8],Imed8

I8

I16L I16H

MOV [Mem8+D8],Imed8

A0 1010 0000 offL

offH

MOV AL,[offset]

C7 1100 0111 xx 101 xxx

No implementado

A1 1010 0001 offL

offH

MOV AX,[offset]

C7 1100 0111 xx 110 xxx

No implementado

A2 1010 0010 offL

offH

MOV [offset],AL

C7 1100 0111 xx 111 xxx

No implementado

A3 1010 0011 offL

offH

MOV [offset],AX

C8 1100 1000

No implementado

A4 1010 0100

MOVSB

C9 1100 1001

A5 1010 0101

MOVSW

CA 1100 1010 D16L

A6 1010 0110

CMPSB

CB 1100 1011

A7 1010 0111

CMPSW

CC 1100 1100

INT

A8 1010 1000 I8

TEST AL,Imed8

CD 1100 1101 tipo8

INT tipo8
INTO

A9 1010 1001 I16L

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

D0 1101 0000 00 000 110 offL offH

ROL byte ptr [offset],1

AC 1010 1100

LODSB

D0 1101 0000 00 000 R/M

ROL [Mem8],1

AD 1010 1101

LODSW

D0 1101 0000 00 001 110 offL offH

ROR byte ptr [offset],1

AE 1010 1110

SCASB

D0 1101 0000 00 001 R/M

ROR [Mem8],1

AF 1010 1111

SCASW

D0 1101 0000 00 010 110 offL offH

RCL byte ptr [offset],1

B0 1011 0000 I8

MOV AL,Imed8

D0 1101 0000 00 010 R/M

B1 1011 0001 I8

MOV CL,Imed8

D0 1101 0000 00 011 110 offL offH

RCL [Mem8],1
RCR byte ptr [offset],1

B2 1011 0010 I8

MOV DL,Imed8

D0 1101 0000 00 011 R/M

RCR [Mem8],1

B3 1011 0011 I8

MOV BL,Imed8

D0 1101 0000 00 100 110 offL offH

SAL byte ptr [offset],1

B4 1011 0100 I8

MOV AH,Imed8

D0 1101 0000 00 100 110 offL offH

SHL byte ptr [offset],1

B5 1011 0101 I8

MOV CH,Imed8

D0 1101 0000 00 100 R/M

SAL [Mem8],1

B6 1011 0110 I8

MOV DH,Imed8

D0 1101 0000 00 100 R/M

B7 1011 0111 I8

MOV BH,Imed8

D0 1101 0000 00 101 110 offL offH

SHL [Mem8],1
SHR byte ptr [offset],1

B8 1011 1000 I16L

I16H

MOV AX,Imed16

D0 1101 0000 00 101 R/M

B9 1011 1001 I16L

I16H

MOV CX,Imed16

D0 1101 0000 00 111 110 offL offH

SHR [Mem8],1
SAR byte ptr [offset],1

BA 1011 1010 I16L

I16H

MOV DX,Imed16

D0 1101 0000 00 111 R/M

SAR [Mem8],1

BB 1011 1011 I16L

I16H

MOV BX,Imed16

D0 1101 0000 01 000 R/M D8

ROL [Mem8+D8],1

BC 1011 1100 I16L

I16H

MOV SP,Imed16

D0 1101 0000 01 001 R/M D8

ROR [Mem8+D8],1

BD 1011 1101 I16L

I16H

MOV BP,Imed16

D0 1101 0000 01 010 R/M D8

RCL [Mem8+D8],1

BE 1011 1110 I16L

I16H

MOV SI,Imed16

D0 1101 0000 01 011 R/M D8

RCR [Mem8+D8],1

BF 1011 1111 I16L

I16H

D0 1101 0000 01 100 R/M D8

SAL [Mem8+D8],1

C0 1100 0000

MOV DI,Imed16
No implementado

D0 1101 0000 01 100 R/M D8

SHL [Mem8+D8],1

C1 1100 0001

No implementado

D0 1101 0000 01 101 R/M D8

SHR [Mem8+D8],1

RETN D16

D0 1101 0000 01 111 R/M D8

SAR [Mem8+D8],1

C3 1100 0011

RETN

D0 1101 0000 10 000 R/M D16L D16H

ROL [Mem8+D16],1

C4 1100 0100 00 REG 110 offL offH

LES Reg16,[offset]

D0 1101 0000 10 001 R/M D16L D16H

ROR [Mem8+D16],1

C4 1100 0100 00 REG R/M

LES Reg16,[Mem]

D0 1101 0000 10 010 R/M D16L D16H

RCL [Mem8+D16],1

C4 1100 0100 01 REG R/M D8

LES Reg16,[Mem+D8]

D0 1101 0000 10 011 R/M D16L D16H

RCR [Mem8+D16],1

C4 1100 0100 10 REG R/M D16L D16H

D0 1101 0000 10 100 R/M D16L D16H

SAL [Mem8+D16],1

C4 1100 0100 11 REG R/M

LES Reg16,[Mem+D16]
No permitido (LES Reg16,Reg16)

D0 1101 0000 10 100 R/M D16L D16H

SHL [Mem8+D16],1

C5 1100 0101 00 REG 110 offL offH

LDS Reg16,[offset]

D0 1101 0000 10 101 R/M D16L D16H

SHR [Mem8+D16],1

C5 1100 0101 00 REG R/M

LDS Reg16,[Mem]

D0 1101 0000 10 111 R/M D16L D16H

SAR [Mem8+D16],1

C5 1100 0101 01 REG R/M D8

LDS Reg16,[Mem+D8]

D0 1101 0000 11 000 R/M

ROL Reg8,1

C5 1100 0101 10 REG R/M D16L D16H

D0 1101 0000 11 001 R/M

ROR Reg8,1

C5 1100 0101 11 REG R/M

LDS Reg16,[Mem+D16]
No permitido (LDS Reg16,Reg16)

D0 1101 0000 11 010 R/M

RCL Reg8,1

C6 1100 0110 00 000 110 offL offH I8

MOV [offset],Imed8

D0 1101 0000 11 011 R/M

RCR Reg8,1

C2 1100 0010 D16L

D16H

BYTES DO CDIGO DE MQUINA


INSTRUO

HEX

HEX

BYTES DO CDIGO DE MQUINA

D0 1101 0000 11 100 R/M

SAL Reg8,1

D2 1101 0010 01 100 R/M D8

SHL [Mem8+D8],CL

D0 1101 0000 11 100 R/M

SHL Reg8,1

D2 1101 0010 01 101 R/M D8

SHR [Mem8+D8],CL

D0 1101 0000 11 101 R/M

SHR Reg8,1

D2 1101 0010 01 111 R/M D8

SAR [Mem8+D8],CL

D0 1101 0000 11 111 R/M

D2 1101 0010 10 000 R/M D16L D16H

ROL [Mem8+D16],CL

D0 1101 0000 xx 110 xxx

SAR Reg8,1
No implementado

D2 1101 0010 10 001 R/M D16L D16H

ROR [Mem8+D16],CL

D1 1101 0001 00 000 110 offL offH

ROL word ptr [offset],1

D2 1101 0010 10 010 R/M D16L D16H

RCL [Mem8+D16],CL

D1 1101 0001 00 000 R/M

ROL [Mem16],1

D2 1101 0010 10 011 R/M D16L D16H

RCR [Mem8+D16],CL

D1 1101 0001 00 001 110 offL offH

ROR word ptr [offset],1

D2 1101 0010 10 100 R/M D16L D16H

SAL [Mem8+D16],CL

D1 1101 0001 00 001 R/M

ROR [Mem16],1

D2 1101 0010 10 100 R/M D16L D16H

SHL [Mem8+D16],CL

D1 1101 0001 00 010 110 offL offH

RCL word ptr [offset],1

D2 1101 0010 10 101 R/M D16L D16H

SHR [Mem8+D16],CL

D1 1101 0001 00 010 R/M

RCL [Mem16],1

D2 1101 0010 10 111 R/M D16L D16H

SAR [Mem8+D16],CL

D1 1101 0001 00 011 110 offL offH

RCR word ptr [offset],1

D2 1101 0010 11 000 R/M

ROL Reg8,CL

D1 1101 0001 00 011 R/M

RCR [Mem16],1

D2 1101 0010 11 001 R/M

ROR Reg8,CL

D1 1101 0001 00 100 110 offL offH

SAL word ptr [offset],1

D2 1101 0010 11 010 R/M

RCL Reg8,CL

D1 1101 0001 00 100 110 offL offH

SHL word ptr [offset],1

D2 1101 0010 11 011 R/M

RCR Reg8,CL

D1 1101 0001 00 100 R/M

SAL [Mem16],1

D2 1101 0010 11 100 R/M

SAL Reg8,CL

D1 1101 0001 00 100 R/M

SHL [Mem16],1

D2 1101 0010 11 100 R/M

SHL Reg8,CL

D1 1101 0001 00 101 110 offL offH

SHR word ptr [offset],1

D2 1101 0010 11 101 R/M

SHR Reg8,CL

D1 1101 0001 00 101 R/M

SHR [Mem16],1

D2 1101 0010 11 111 R/M

D1 1101 0001 00 111 110 offL offH

SAR word ptr [offset],1

D2 1101 0010 xx 110 xxx

SAR Reg8,CL
No implementado

D1 1101 0001 00 111 R/M

SAR [Mem16],1

D3 1101 0011 00 000 110 offL offH

ROL word ptr [offset],CL

D1 1101 0001 01 000 R/M D8

ROL [Mem16+D8],1

D3 1101 0011 00 000 R/M

ROL [Mem16],CL

D1 1101 0001 01 001 R/M D8

ROR [Mem16+D8],1

D3 1101 0011 00 001 110 offL offH

ROR word ptr [offset],CL

D1 1101 0001 01 010 R/M D8

RCL [Mem16+D8],1

D3 1101 0011 00 001 R/M

ROR [Mem16],CL

D1 1101 0001 01 011 R/M D8

RCR [Mem16+D8],1

D3 1101 0011 00 010 110 offL offH

RCL word ptr [offset],CL

D1 1101 0001 01 100 R/M D8

SAL [Mem16+D8],1

D3 1101 0011 00 010 R/M

D1 1101 0001 01 100 R/M D8

SHL [Mem16+D8],1

D3 1101 0011 00 011 110 offL offH

RCL [Mem16],CL
RCR word ptr [offset],CL

D1 1101 0001 01 101 R/M D8

SHR [Mem16+D8],1

D3 1101 0011 00 011 R/M

RCR [Mem16],CL

D1 1101 0001 01 111 R/M D8

SAR [Mem16+D8],1

D3 1101 0011 00 100 110 offL offH

SAL word ptr [offset],CL

D1 1101 0001 10 000 R/M D16L D16H

ROL [Mem16+D16],1

D3 1101 0011 00 100 110 offL offH

SHL word ptr [offset],CL

D1 1101 0001 10 001 R/M D16L D16H

ROR [Mem16+D16],1

D3 1101 0011 00 100 R/M

SAL [Mem16],CL

D1 1101 0001 10 010 R/M D16L D16H

RCL [Mem16+D16],1

D3 1101 0011 00 100 R/M

D1 1101 0001 10 011 R/M D16L D16H

RCR [Mem16+D16],1

D3 1101 0011 00 101 110 offL offH

SHL [Mem16],CL
SHR word ptr [offset],CL

D1 1101 0001 10 100 R/M D16L D16H

SAL [Mem16+D16],1

D3 1101 0011 00 101 R/M

D1 1101 0001 10 100 R/M D16L D16H

SHL [Mem16+D16],1

D3 1101 0011 00 111 110 offL offH

SHR [Mem16],CL
SAR word ptr [offset],CL

D1 1101 0001 10 101 R/M D16L D16H

SHR [Mem16+D16],1

D3 1101 0011 00 111 R/M

SAR [Mem16],CL

D1 1101 0001 10 111 R/M D16L D16H

SAR [Mem16+D16],1

D3 1101 0011 01 000 R/M D8

ROL [Mem16+D8],CL

D1 1101 0001 11 000 R/M

ROL Reg16,1

D3 1101 0011 01 001 R/M D8

ROR [Mem16+D8],CL

D1 1101 0001 11 001 R/M

ROR Reg16,1

D3 1101 0011 01 010 R/M D8

RCL [Mem16+D8],CL

D1 1101 0001 11 010 R/M

RCL Reg16,1

D3 1101 0011 01 011 R/M D8

RCR [Mem16+D8],CL

D1 1101 0001 11 011 R/M

RCR Reg16,1

D3 1101 0011 01 100 R/M D8

SAL [Mem16+D8],CL

D1 1101 0001 11 100 R/M

SAL Reg16,1

D3 1101 0011 01 100 R/M D8

SHL [Mem16+D8],CL

D1 1101 0001 11 100 R/M

SHL Reg16,1

D3 1101 0011 01 101 R/M D8

SHR [Mem16+D8],CL

D1 1101 0001 11 101 R/M

SHR Reg16,1

D3 1101 0011 01 111 R/M D8

SAR [Mem16+D8],CL

D1 1101 0001 11 111 R/M

D3 1101 0011 10 000 R/M D16L D16H

ROL [Mem16+D16],CL

D1 1101 0001 xx 110 xxx

SAR Reg16,1
No implementado

D3 1101 0011 10 001 R/M D16L D16H

ROR [Mem16+D16],CL

D2 1101 0010 00 000 110 offL offH

ROL byte ptr [offset],CL

D3 1101 0011 10 010 R/M D16L D16H

RCL [Mem16+D16],CL

D2 1101 0010 00 000 R/M

ROL [Mem8],CL
ROR byte ptr [offset],CL

D3 1101 0011 10 011 R/M D16L D16H

RCR [Mem16+D16],CL

D3 1101 0011 10 100 R/M D16L D16H

SAL [Mem16+D16],CL

D3 1101 0011 10 100 R/M D16L D16H

SHL [Mem16+D16],CL

D2 1101 0010 00 010 110 offL offH

ROR [Mem8],CL
RCL byte ptr [offset],CL

D3 1101 0011 10 101 R/M D16L D16H

SHR [Mem16+D16],CL

D2 1101 0010 00 010 R/M

RCL [Mem8],CL

D3 1101 0011 10 111 R/M D16L D16H

SAR [Mem16+D16],CL

D2 1101 0010 00 011 110 offL offH

RCR byte ptr [offset],CL

D3 1101 0011 11 000 R/M

ROL Reg16,CL

D2 1101 0010 00 011 R/M

RCR [Mem8],CL

D3 1101 0011 11 001 R/M

ROR Reg16,CL

D2 1101 0010 00 100 110 offL offH

SAL byte ptr [offset],CL

D3 1101 0011 11 010 R/M

RCL Reg16,CL

D2 1101 0010 00 100 110 offL offH

SHL byte ptr [offset],CL

D3 1101 0011 11 011 R/M

RCR Reg16,CL

D2 1101 0010 00 100 R/M

SAL [Mem8],CL

D3 1101 0011 11 100 R/M

SAL Reg16,CL

D2 1101 0010 00 100 R/M

SHL [Mem8],CL
SHR byte ptr [offset],CL

D3 1101 0011 11 100 R/M

SHL Reg16,CL

D3 1101 0011 11 101 R/M

SHR Reg16,CL

D3 1101 0011 11 111 R/M

D2 1101 0010 00 111 110 offL offH

SHR [Mem8],CL
SAR byte ptr [offset],CL

D3 1101 0011 xx 110 xxx

SAR Reg16,CL
No implementado

D2 1101 0010 00 111 R/M

SAR [Mem8],CL

D4 1101 0100 0000 1010

AAM

D2 1101 0010 01 000 R/M D8

ROL [Mem8+D8],CL

D5 1101 0101 0000 1010

D2 1101 0010 01 001 R/M D8

ROR [Mem8+D8],CL

D6 1101 0110

AAD
No implementado

D2 1101 0010 01 010 R/M D8

RCL [Mem8+D8],CL

D7 1101 0111

XLAT

D2 1101 0010 01 011 R/M D8

RCR [Mem8+D8],CL

D8 1101 1000 00 EEE 110 offL offH

ESC [offset]

D2 1101 0010 01 100 R/M D8

SAL [Mem8+D8],CL

D8 1101 1000 00 EEE R/M

ESC [Mem]

D2 1101 0010 00 001 110 offL offH


D2 1101 0010 00 001 R/M

D2 1101 0010 00 101 110 offL offH


D2 1101 0010 00 101 R/M

INSTRUO

BYTES DO CDIGO DE MQUINA


INSTRUO

HEX

HEX

BYTES DO CDIGO DE MQUINA

D8 1101 1000 01 EEE R/M D8

ESC [Mem+D8]

F6 1111 0110 00 110 R/M

DIV [Mem8]

D8 1101 1000 10 EEE R/M D16L D16H

ESC [Mem+D16]

F6 1111 0110 00 111 110 offL offH

IDIV byte ptr [offset]

D8 1101 1000 11 EEE R/M

ESC iAPX87Reg

F6 1111 0110 00 111 R/M

IDIV [Mem8]

D 1101 1EEE 00 EEE 110 offL offH

ESC [offset]

F6 1111 0110 01 000 R/M D8

D 1101 1EEE 00 EEE R/M

ESC [Mem]

F6 1111 0110 01 001 xxx

TEST [Mem8+D8],Imed8
No implementado

D 1101 1EEE 01 EEE R/M D8

ESC [Mem+D8]

F6 1111 0110 01 010 R/M D8

NOT [Mem8+D8]

D 1101 1EEE 10 EEE R/M D16L D16H

ESC [Mem+D16]

F6 1111 0110 01 011 R/M D8

NEG [Mem8+D8]

D 1101 1EEE 11 EEE R/M

ESC iAPX87Reg

F6 1111 0110 01 100 R/M D8

MUL [Mem8+D8]

DF 1101 1111 00 EEE 110 offL offH

ESC [offset]

F6 1111 0110 01 101 R/M D8

IMUL [Mem8+D8]

DF 1101 1111 00 EEE R/M

ESC [Mem]

F6 1111 0110 01 110 R/M D8

DIV [Mem8+D8]

DF 1101 1111 01 EEE R/M D8

ESC [Mem+D8]

F6 1111 0110 01 111 R/M D8

IDIV [Mem8+D8]

DF 1101 1111 10 EEE R/M D16L D16H

ESC [Mem+D16]

F6 1111 0110 10 000 R/M D16L D16H I8

DF 1101 1111 11 EEE R/M

ESC iAPX87Reg

F6 1111 0110 10 001 xxx

TEST [Mem8+D16],Imed8
No implementado

E0 1110 0000 D8

LOOPNE / LOOPNZ D8

F6 1111 0110 10 010 R/M D16L D16H

NOT [Mem8+D16]

E1 1110 0001 D8

LOOPE / LOOPZ

F6 1111 0110 10 011 R/M D16L D16H

NEG [Mem8+D16]

E2 1110 0010 D8

LOOP D8

F6 1111 0110 10 100 R/M D16L D16H

MUL [Mem8+D16]

E3 1110 0011 D8

JCXZ D8

F6 1111 0110 10 101 R/M D16L D16H

IMUL [Mem8+D16]

E4 1110 0100 porta8

IN AL,porta8

F6 1111 0110 10 110 R/M D16L D16H

DIV [Mem8+D16]

E5 1110 0101 porta8

IN AX,porta8

F6 1111 0110 10 111 R/M D16L D16H

IDIV [Mem8+D16]

E6 1110 0110 porta8

OUT porta8,AL

F6 1111 0110 11 000 R/M I8

E7 1110 0111 porta8

OUT porta8,AX

F6 1111 0110 11 001 xxx

TEST Reg8,Imed8
No implementado

D8

I8

INSTRUO

E8 1110 1000 D16L

D16H

CALL D16

F6 1111 0110 11 010 R/M

NOT Reg8

E9 1110 1001 D16L

D16H

JMP D16

F6 1111 0110 11 011 R/M

NEG Reg8

EA 1110 1010 offL

offH selL selH

JMP seletor:offset

F6 1111 0110 11 100 R/M

MUL Reg8

EB 1110 1011 D8

JMP D8

F6 1111 0110 11 101 R/M

IMUL Reg8

EC 1110 1100

IN AL,DX

F6 1111 0110 11 110 R/M

DIV Reg8

ED 1110 1101

IN AX,DX

F6 1111 0110 11 111 R/M

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

F7 1111 0111 00 000 R/M I16L I16H

F0 1111 0000

F7 1111 0111 00 001 xxx

TEST [Mem16],Imed16
No implementado

F2 1111 0001

LOCK
No implementado

F7 1111 0111 00 010 110 offL offH

NOT word ptr [offset]

F2 1111 0010

REP REPNE REPNZ

F7 1111 0111 00 010 R/M

NOT [Mem16]

F2 1111 0010 1010 0100

REP MOVSB

F7 1111 0111 00 011 110 offL offH

NEG word ptr [offset]

F2 1111 0010 1010 0101

REP MOVSW

F7 1111 0111 00 011 R/M

F2 1111 0010 1010 0110

REPNE/REPNZ CMPSB

F7 1111 0111 00 100 110 offL offH

NEG [Mem16]
MUL word ptr [offset]

F2 1111 0010 1010 0111

REPNE/REPNZ CMPSW

F7 1111 0111 00 100 R/M

F2 1111 0010 1010 1010

REP ST0SB

F7 1111 0111 00 101 110 offL offH

F2 1111 0010 1010 1011

REP ST0SW

F7 1111 0111 00 101 R/M

F2 1111 0010 1010 1100

REP LODSB

F7 1111 0111 00 110 110 offL offH

IMUL [Mem16]
DIV word ptr [offset]

F2 1111 0010 1010 1101

REP LODSW

F7 1111 0111 00 110 R/M

DIV [Mem16]

F2 1111 0010 1010 1110

REPNE/REPNZ SCASB

F7 1111 0111 00 111 110 offL offH

IDIV word ptr [offset]

F2 1111 0010 1010 1111

REPNE/REPNZ SCASW

F7 1111 0111 00 111 R/M

IDIV [Mem16]

F3 1111 0011

REP REPE REPZ

F7 1111 0111 01 000 R/M D8

F3 1111 0011 1010 0100

REP MOVSB

F7 1111 0111 01 001 xxx

TEST [Mem16+D8],Imed16
No implementado

F3 1111 0011 1010 0101

REP MOVSW

F7 1111 0111 01 010 R/M D8

NOT [Mem16+D8]

F3 1111 0011 1010 0110

REPE/REPZ CMPSB

F7 1111 0111 01 011 R/M D8

NEG [Mem16+D8]

F3 1111 0011 1010 0111

REPE/REPZ CMPSW

F7 1111 0111 01 100 R/M D8

MUL [Mem16+D8]

F3 1111 0011 1010 1010

REP ST0SB

F7 1111 0111 01 101 R/M D8

IMUL [Mem16+D8]

F3 1111 0011 1010 1011

REP ST0SW

F7 1111 0111 01 110 R/M D8

DIV [Mem16+D8]

F3 1111 0011 1010 1100

REP LODSB

F7 1111 0111 01 111 R/M D8

IDIV [Mem16+D8]

F3 1111 0011 1010 1101

REP LODSW

F3 1111 0011 1010 1110

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

F3 1111 0011 1010 1111

REPE/REPZ SCASW

F7 1111 0111 10 010 R/M D16L D16H

NOT [Mem16+D16]

F4 1111 0100

HLT

F7 1111 0111 10 011 R/M D16L D16H

NEG [Mem16+D16]

F5 1111 0101

CMC

F7 1111 0111 10 100 R/M D16L D16H

MUL [Mem16+D16]

F6 1111 0110 00 000 110 offL offH I8

TEST [offset],Imed8

F7 1111 0111 10 101 R/M D16L D16H

IMUL [Mem16+D16]

F6 1111 0110 00 000 R/M I8

F7 1111 0111 10 110 R/M D16L D16H

DIV [Mem16+D16]

F6 1111 0110 00 001 xxx

TEST [Mem8],Imed8
No implementado

F7 1111 0111 10 111 R/M D16L D16H

IDIV [Mem16+D16]

F6 1111 0110 00 010 110 offL offH

NOT byte ptr [offset]

F7 1111 0111 11 000 R/M I16L I16H

F6 1111 0110 00 010 R/M

NOT [Mem8]

F7 1111 0111 11 001 xxx

TEST Reg16,Imed16
No implementado

F6 1111 0110 00 011 110 offL offH

NEG byte ptr [offset]

F7 1111 0111 11 010 R/M

NOT Reg16

F6 1111 0110 00 011 R/M

NEG [Mem8]

F7 1111 0111 11 011 R/M

NEG Reg16

F6 1111 0110 00 100 110 offL offH

MUL byte ptr [offset]

F7 1111 0111 11 100 R/M

MUL Reg16

F6 1111 0110 00 100 R/M

MUL [Mem8]

F7 1111 0111 11 101 R/M

IMUL Reg16

F6 1111 0110 00 101 110 offL offH

IMUL byte ptr [offset]

F7 1111 0111 11 110 R/M

DIV Reg16

F6 1111 0110 00 101 R/M

IMUL [Mem8]
DIV byte ptr [offset]

F7 1111 0111 11 111 R/M

IDIV Reg16

F8 1111 1000

CLC

F6 1111 0110 00 110 110 offL offH

I16L I16H

MUL [Mem16]
IMUL word ptr [offset]

BYTES DO CDIGO DE MQUINA


INSTRUO

HEX

HEX

BYTES DO CDIGO DE MQUINA

F9 1111 1001

STC

FF 1111 1111 10 101 R/M D16L D16H

JMP [Mem32+D16]

FA 1111 1010

CLI

FF 1111 1111 10 110 R/M D16L D16H

FB 1111 1011

STI

FF 1111 1111 10 111 xxx

PUSH [Mem16+D16]
No implementado

FC 1111 1100

CLD

FF 1111 1111 11 000 R/M

INC Reg16

FD 1111 1101

STD

FF 1111 1111 11 001 R/M

DEC Reg16

FE 1111 1110 00 000 110 offL offH

INC byte ptr [offset]

FF 1111 1111 11 010 R/M

FE 1111 1110 00 000 R/M

INC [Mem8]

FF 1111 1111 11 011 R/M

CALL Reg16
No permitido

(CALL far ptr Reg16)

FE 1111 1110 00 001 110 offL offH

DEC byte ptr [offset]

FF 1111 1111 11 100 R/M

FE 1111 1110 00 001 R/M

FF 1111 1111 11 101 R/M

(JMP far ptr Reg16)

FE 1111 1110 00 010 xxx

DEC [Mem8]
No implementado

JMP Reg16
No permitido

FE 1111 1110 00 011 xxx

No implementado

FF 1111 1111 11 111 xxx

FE 1111 1110 00 100 xxx

No implementado

FE 1111 1110 00 101 xxx

No implementado

FE 1111 1110 00 110 xxx

No implementado

FE 1111 1110 00 111 xxx

No implementado

FE 1111 1110 01 000 R/M D8

INC [Mem8+D8]

FE 1111 1110 01 001 R/M D8


FE 1111 1110 01 010 xxx

DEC [Mem8+D8]
No implementado

FE 1111 1110 01 011 xxx

No implementado

FE 1111 1110 01 100 xxx

No implementado

FE 1111 1110 01 101 xxx

No implementado

FE 1111 1110 01 110 xxx

No implementado

FE 1111 1110 01 111 xxx

No implementado

FE 1111 1110 10 000 R/M D16L D16H

INC [Mem8+D16]

FE 1111 1110 10 001 R/M D16L D16H


FE 1111 1110 10 010 xxx

DEC [Mem8+D16]
No implementado

FE 1111 1110 10 011 xxx

No implementado

FE 1111 1110 10 100 xxx

No implementado

FE 1111 1110 10 101 xxx

No implementado

FE 1111 1110 10 110 xxx

No implementado

FE 1111 1110 10 111 xxx

No implementado

FE 1111 1110 11 000 R/M

INC Reg8

FE 1111 1110 11 001 R/M


FE 1111 1110 11 010 xxx

DEC Reg8
No implementado

FE 1111 1110 11 011 xxx

No implementado

FE 1111 1110 11 100 xxx

No implementado

FE 1111 1110 11 101 xxx

No implementado

FE 1111 1110 11 110 xxx

No implementado

FE 1111 1110 11 111 xxx

No implementado

FF 1111 1111 00 000 110 offL offH

INC word ptr [offset]

FF 1111 1111 00 000 R/M


FF 1111 1111 00 001 110 offL offH

INC [Mem16]
DEC word ptr [offset]

FF 1111 1111 00 001 R/M

DEC [Mem16]

FF 1111 1111 00 010 110 offL offH

CALL near ptr [offset]

FF 1111 1111 00 010 R/M

CALL [Mem16]

FF 1111 1111 00 011 110 offL offH

CALL far ptr [offset]

FF 1111 1111 00 011 R/M

CALL [Mem32]

FF 1111 1111 00 100 110 offL offH

JMP near ptr [offset]

FF 1111 1111 00 100 R/M

JMP [Mem16]

FF 1111 1111 00 101 110 offL offH

JMP far ptr [offset]

FF 1111 1111 00 101 R/M

JMP [Mem32]
PUSH word ptr [offset]

FF 1111 1111 00 110 110 offL offH


FF 1111 1111 00 110 R/M
FF 1111 1111 00 111 xxx

PUSH [Mem16]
No implementado

FF 1111 1111 01 000 R/M D8

INC [Mem16+D8]

FF 1111 1111 01 001 R/M D8

DEC [Mem16+D8]

FF 1111 1111 01 010 R/M D8

CALL [Mem16+D8]

FF 1111 1111 01 011 R/M D8

CALL [Mem32+D8]

FF 1111 1111 01 100 R/M D8

JMP [Mem16+D8]

FF 1111 1111 01 101 R/M D8

JMP [Mem32+D8]

FF 1111 1111 01 110 R/M D8


FF 1111 1111 01 111 xxx

PUSH [Mem16+D8]
No implementado

FF 1111 1111 10 000 R/M D16L D16H

INC [Mem16+D16]

FF 1111 1111 10 001 R/M D16L D16H

DEC [Mem16+D16]

FF 1111 1111 10 010 R/M D16L D16H

CALL [Mem16+D16]

FF 1111 1111 10 011 R/M D16L D16H

CALL [Mem32+D16]

FF 1111 1111 10 100 R/M D16L D16H

JMP [Mem16+D16]

FF 1111 1111 11 110 R/M

INSTRUO

PUSH Reg16
No implementado

Vous aimerez peut-être aussi