instruçoes resumidas ia32

513 palavras 3 páginas
Instrução

Operando 1

Operando 2

Tratamento de dados (existem diversos modos de endereçamento)
MOV
OP1
OP2
op1← op2
MOVZ
OP1
OP2
op1← op2 completando com zero
MOVSZ
OP1
OP2
op1← op2 completando com zero e mantendo o sinal ADD
OP1
OP2 op1←op2+op1 ADC
OP1
OP2 op1←op2+op1 + CF
SUB
OP1
OP2
op1←op2-op1
IMUL
OP1
Realiza a multiplicação considerando sinal e guardo o resultado no acumulador (AX, DX.AX, EDX.EAX).
IDIV
OP1
Realiza a divisão considerando sinal o cociente é armazenado em AL e o resto em AH (ou AX, DX ou
EAX, EDX)
MUL
Op1
Realiza a multiplicação sem sinal e guardo o resultado no acumulador (AX, DX.AX, EDX.EAX).
DIV
OP1
Realiza a divisão sem sinal o cociente é armazenado em AL e o resto em AH (ou AX, DX ou EAX, EDX)
INC
OP1 op1← op1 + 1
DEC
OP1 op1← op1 - 1
NEG
OP1
Op1 recebe a negação em complemento de 2
Comparações
CMP

OP1

OP2

TEST

OP1

OP2

Atualiza os FLAGS dependendo do resultado de OP1
- OP2 (subtração)
Atualiza os FLAGS dependendo do resultado de OP1
AND OP2

Pulos sem considerar sinal
JE/JZ
Label
JNE/JNZ
Label
JA/JNBE
Label
JAE/JNB
Label
JB/JNAE
Label
JBE/JNA
Label
JC
Label
JNC
Label

Pula se igual (ZF=1)
Pula se não igual (ZF=0)
Pula se superior
Pula se superior ou igual
Pula se inferior
Pula se inferior ou igual
Pula se CF = 1
Pula se CF=0

Pulos considerando sinal
JG/JNLE
Label
JGE/JNL
Label
JL/JNGE
Label
JLE/JNG
Label

Pula se superior
Pula se superior ou igual
Pula se inferior
Pula se inferior ou igual

Desvio incondicional
JMP
Label
CALL
Label
RET
INT
OP1

Pula
Pula, empilhando endereço de retorno
Pula retirando o endereço de retorno
Faz a interrupção indicada pelo operando

Laços loop CX←CX-1, pula se CX != 0

Label

Operações Binárias
AND
OR
XOR
NOT
SHR

OP1
OP1
OP1
OP1
OP1

OP2
OP2
OP2
Valor

SHL

OP1

Valor

ROR

OP1

Valor

ROL

OP1

Valor

op1←op2 AND op1 op1←op2 OR op1 op1←op2 XOR op1
OP1 recebe a negação bit a bit.
Shift para direita (quantidade de bits indicada por valor) Shift para esquerda (quantidade de bits indicada por
valor)

Relacionados

  • Engenheiro
    10948 palavras | 44 páginas
  • freebsd
    67324 palavras | 270 páginas