Sintaxe:
AND destino,fonte
Com esta instrução a operação lógica "y" para ambos os operadores é usada como na tabela:
Fonte Destino | Destino ----------------------------- 1 1 | 1 1 0 | 0 0 1 | 0 0 0 | 0O resultado desta operação é armazenado no operador de destino.
Sintaxe:
NEG destino
Esta instrução gera o complemento de 2 do operador destino e o armazena no mesmo operador. Por exemplo, if AX armazena o valor 1234H, então:
NEG AX
Isto fará com o que o valor EDCCH fque armazenado no registrador AX.
Sintaxe:
NOT destino
O resultado é armazenado no mesmo operador de destino.
Sintaxe:
OR destino,fonte
A instrução OR, faz uma disjunção lógica bit a bit dos dois operadores:
Fonte Destino | Destino ----------------------------------- 1 1 | 1 1 0 | 1 0 1 | 1 0 0 | 0
Sintaxe:
TEST destino,fonte
Realiza uma conjunção, bit a bit, dos operadores, mas difere da instrução AND, uma vez que não coloca o resultado no operador de destino. Tem efeito sobre o registrador de flag.
Sintaxe:
XOR destino,fonte
Esta instrução realizxa uma disjunção exclusiva de dois operadores bit a bit.
Fonte Destino | Destino ----------------------------------- 1 1 | 0 0 0 | 1 0 1 | 1 0 0 | 0
ADC
ADD
DIV
IDIV
MUL
IMUL
SBB
SUB
Sintaxe:
ADC destino,fonte
Esta instrução efetua a soma entre dois operandos, mais o valor do flag CF, existente antes da operação. Apenas o operando destino e os flags são afetados.
O resultado é armazenado no operador de destino.
Sintaxe:
ADD destino,fonte
Esta instrução adiciona dois operadores e armazena o resultado no operador destino.
Sintaxe:
DIV fonte
O divisor pode ser um byte ou uma palavra e é o operador que é dado na instrução.
Se o divisor é de 8 bits, o registrador AX de 16 bits é tomado como dividendo e se o divisor é de 16 bits, o par de registradores DX:AX será tomado como dividendo, tomando a palavra alta de DX e a baixa de AX.
Se o divisor for um byte, então o quociente será armazenado no registrador AL e o resto em AH. Se for uma palavra, então o quociente é armazenado em AX e o resto em DX.
Sintaxe:
IDIV fonte
Consiste basicamente como a instrução DIV, diferencia-se apenas por realizar a operação com sinal.
Para os resultados são usados os mesmos registradores da instrução DIV.
Sintaxe:
MUL fonte
Esta instrução realiza uma multiplicação não sinalizada entre o conteúdo do acumulador AL ou AX pelo operando-fonte, devolvendo o resultado no acumulador AX caso a operação tenha envolvido AL com um operando de 8 bits, ou em DX e AX caso a operação tenha envolvido AX e um operando de 16 bits.
Sintaxe:
IMUL fonte
Esta instrução faz o mesmo que a anterior, difere apenas pela inclusão do sinal.
Os resultados são mantidos nos mesmos registradores usados pela instrução MUL.
Sintaxe:
SBB destino,fonte
Esta instrução subtrai os operadores e subtrai um do resultado se CF está ativado. O operador fonte é sempre subtraído do destino.
Este tipo de subtração é usado quando se trabalha com quantidades de 32 bits.
Sintaxe:
SUB destino,fonte
Esta instrução subtrai o operador fonte do destino.
![]() Powered by WebGlimpse |
|