Instruções - 8086
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. SUB AL, 74H SUB BX, [BX] DEC decrementa um byte ou word especificada DEC