O microprocessador Intel 8086 suporta um rico conjunto de modos de endereçamento que determinam como instruções acessam operandos em memória, registradores ou espaço I/O. Entender estes modos é essencial para escrever código assembly eficiente.
Registrador Direto: Operando reside em registrador de propósito geral (AX, BX, CX, DX, SI, DI, BP, SP). Modo mais rápido — sem acesso a memória necessário.
MOV AX, BX ; Copia BX para AX
Dado Imediato: Operando codificado diretamente na instrução. Usado para constantes.
MOV CX, 00FFH ; Carrega valor imediato
Endereço Direto: Instrução contém offset de memória de 16 bits. Segmento padrão DS.
MOV AL, [2000H] ; Carrega do offset 2000H no DS
Registrador ponteiro mantém o offset. Registradores: BX, SI, DI, BP.
MOV AL, [BX] ; Carrega de DS:BX
MOV AL, [BP] ; Carrega de SS:BP (segmento stack padrão)
Offset base + registrador índice (SI ou DI). Útil para arrays.
MOV AL, ARRAY[SI] ; ARRAY é base, SI é índice
Registrador base (BX ou BP) + deslocamento. BP padrão para segmento de stack.
MOV AL, [BX+10H] ; DS:BX+10H
MOV AL, [BP+4] ; SS:BP+4 (acesso frame de stack)
Registrador base + registrador índice. Combina base de estrutura + índice de array.
MOV AL, [BX][SI] ; DS:BX+SI
MOV AL, [BP][DI] ; SS:BP+DI
Base + índice + offset constante. Mais flexível para estruturas de dados complexas.
MOV AL, TABLE[BX][SI+20H] ; DS:BX+SI+20H
Modos especializados para operações em bloco usando registradores dedicados:
Origem: DS:SI (ou ES:SI com override de segmento)
Destino: ES:DI (não pode ser sobrescrito)
Instruções: MOVS, CMPS, SCAS, LODS, STOS
SI/DI auto-incrementam/decrementam baseado na Direction Flag (DF)
Qualquer referência de memória pode usar prefixo de override de segmento (CS:, DS:, ES:, SS:) para mudar segmento padrão apenas para aquela instrução.
Estes modos de endereçamento dão ao 8086 flexibilidade notável para manipulação de estruturas de dados, operações de stack e processamento de arrays — razões-chave para sua influência duradoura na arquitetura x86.
Tecnologia Eletrônica © [www.351231.com]