Microprocessador - modos de endereçamento 8086
As diferentes maneiras em que um operando de origem é denotado em uma instrução são conhecidas como addressing modes. Existem 8 modos de endereçamento diferentes na programação do 8086 -
Modo de endereçamento imediato
O modo de endereçamento no qual o operando de dados faz parte da própria instrução é conhecido como modo de endereçamento imediato.
Exemplo
MOV CX, 4929 H, ADD AX, 2387 H, MOV AL, FFH
Registrar modo de endereçamento
Isso significa que o registro é a fonte de um operando para uma instrução.
Exemplo
MOV CX, AX ; copies the contents of the 16-bit AX register into
; the 16-bit CX register),
ADD BX, AX
Modo de endereçamento direto
O modo de endereçamento no qual o endereço efetivo da localização da memória é escrito diretamente na instrução.
Exemplo
MOV AX, [1592H], MOV AL, [0300H]
Registrar modo de endereçamento indireto
Este modo de endereçamento permite que os dados sejam endereçados em qualquer local da memória por meio de um endereço de deslocamento mantido em qualquer um dos seguintes registros: BP, BX, DI e SI.
Exemplo
MOV AX, [BX] ; Suppose the register BX contains 4895H, then the contents
; 4895H are moved to AX
ADD CX, {BX}
Modo de endereçamento baseado
Neste modo de endereçamento, o endereço de deslocamento do operando é dado pela soma do conteúdo dos registros BX / BP e deslocamento de 8 bits / 16 bits.
Exemplo
MOV DX, [BX+04], ADD CL, [BX+08]
Modo de endereçamento indexado
Neste modo de endereçamento, o endereço de deslocamento dos operandos é encontrado adicionando o conteúdo do registrador SI ou DI e deslocamentos de 8 bits / 16 bits.
Exemplo
MOV BX, [SI+16], ADD AL, [DI+16]
Modo de endereçamento baseado em índice
Neste modo de endereçamento, o endereço de deslocamento do operando é calculado somando o registro de base ao conteúdo de um registro de índice.
Exemplo
ADD CX, [AX+SI], MOV AX, [AX+DI]
Com base indexada com modo de deslocamento
Neste modo de endereçamento, o deslocamento dos operandos é calculado adicionando o conteúdo do registrador base. Um índice registra conteúdo e deslocamento de 8 ou 16 bits.
Exemplo
MOV AX, [BX+DI+08], ADD CX, [BX+SI+16]