Instruções Assembly
Instruções para transferência de dados:
MOV
copia um byte ou word de uma fonte especificada para um MOV destino, fonte destino especificado.
PUSH
copia word especificada para o topo da pilha.
POP
copia word do topo da pilha para local especificado.
PUSHA
copia todos os registradores para a pilha
(80186 em diante).
POPA
copia words da pilha para todos os registradores.
XCHG
Exchange bytes ou words.
XLAT
substitui AL por um byte de uma tabela, endereçado por MOV BX, 2800 ; end inicial da tabela.
[BX+AL]
XLAT
; AL = [BX+AL]
Instruções para entrada/saída de dados:
IN
copia um byte ou word de uma porta especificada para o IN AL, OC8H acumulador (a porta é sempre uma cte ou DX).
IN AX, DX
OUT
copia um byte ou word do acumulador para uma porta especificada OUT OC8H, AL
(a porta é sempre uma cte ou DX).
OUT DX, AX
Instruções para transferência de endereço especial:
LEA carrega em um registrador de 16 bits, o endereço (offset) de uma variável. LEA BX, [BP]DELTA
LDS
carrega DS e um reg de 16 bits com um endereço FAR (32 bits).
LDS SI, SEGMENTO[DI]
LES
carrega DS e um reg de 16 bits com um endereço FAR (32 bits).
LES DI, [BX]BUFFER
Instruções para transferência para flags:
LAHF
copia a parte baixa do registrador de flags (FL) para AH.
SAHF
copia o byte contido em AH, para a parte baixa do registrador de flags (FL).
PUSHF
copia o registrador de flags para a pilha.
POPF
copia o topo da pilha para o registrador de flags.
Instruções para adição:
ADD
adição: ADD destino, fonte
ADD AL, 74H
ADD DX, BX
ADC
adição com carry
ADC DX, BX
ADC AL, 45H
INC
incrementa um byte ou word especificada
INC BL
INC VARIÁVEL
AAA
ajuste ASCII do acumulador depois da adição. converte um valor BCD para ASCII após a adição, somente para o reg AL.
DAA
ajuste para BCD, após uma soma, somente reg AL.
Instruções para subtração:
SUB
subtração
SUB AL, VARIAVEL
SUB DX, BX
SBB
subtração com carry.