>> Tecnologia Eletrônica >  >> Áudio Residencial >> Amplificadores

Modos de Endereçamento Assembly 8086: Referência Completa

Modos de Endereçamento de Memória do Intel 8086/8088

O 8086 fornece formas flexíveis de formar o endereço efetivo (EA) de 20 bits a partir de registradores de 16 bits. Entendê-los é chave para programação assembly eficiente.

1. Endereçamento por Registrador

Operando em um registrador. MOV AX, BX — sem acesso à memória.

2. Endereçamento Imediato

Operando codificado na instrução. MOV CX, 1234h.

3. Endereçamento Direto (Absoluto)

Offset de 16 bits na instrução. MOV AL, [1234h] → EA = DS:1234h.

4. Endereçamento Indireto por Registrador

Offset em BX, SI, DI ou BP. MOV DX, [SI] → EA = DS:SI (BP usa SS).

5. Endereçamento Baseado

Registrador base (BX ou BP) + deslocamento 8/16 bits. MOV AX, [BX+10h].

6. Endereçamento Indexado

Registrador índice (SI ou DI) + deslocamento. MOV CL, [DI+20h].

7. Endereçamento Baseado Indexado

Base (BX/BP) + Índice (SI/DI). MOV BX, [BP+SI] → EA = SS:BP+SI.

8. Endereçamento Baseado Indexado com Deslocamento

Base + Índice + disp8/16. MOV [BX+DI+4], AL.

9. Endereçamento String (Implícito)

MOVSB, CMPSW, STOSB… usam DS:SI (origem) e ES:DI (destino); auto-inc/dec por flag DF.

10. Endereçamento Porta I/O

  • Direto: IN AL, 3F8h (porta 8 bits).
  • Indireto: IN AL, DX (porta 16 bits em DX).

Prefixos de Override de Segmento

Qualquer modo memória pode prefixar CS:, DS:, ES:, SS:, FS:, GS: (386+) para selecionar segmento.

Cálculo do Endereço Efetivo (Modo Real)

EA = (Segmento × 16) + Offset. Offset = soma de base + índice + deslocamento por modo.

Escolher o modo certo reduz bytes da instrução, ciclos e pressão de registradores — crítico em código real-mode 16-bit.