Um modo de endereçamento define como o processador calcula o endereço efetivo de um operando para uma instrução. Determina flexibilidade, velocidade e tamanho de codificação da instrução.
| Modo | Descrição | Exemplo | Prós | Contras |
|---|---|---|---|---|
| Registrador | Operando em registrador da CPU | ADD R1, R2 | Mais rápido; codificação curta | Registradores limitados |
| Imediato | Operando na instrução | ADD R1, #42 | Sem acesso memória; constante | Range de valor limitado |
| Direto (Absoluto) | Endereço na instrução | LOAD R1, [0x1000] | Simples; variáveis globais | Instrução grande; endereço fixo |
| Indireto | Endereço na memória no endereço dado | LOAD R1, [[R2]] | Ponteiros; estruturas dinâmicas | Dois acessos memória; lento |
| Indireto por Registrador | Endereço em registrador | LOAD R1, [R2] | Ponteiros; arrays; rápido | Pressão em registradores |
| Indexado | Registrador base + registrador índice/offset | LOAD R1, [R2 + R3] | Arrays, records; flexível | Cálculo mais complexo |
| Base/Deslocamento | Registrador base + offset constante | LOAD R1, [R2 + 8] | Campos struct, stack frames | Tamanho offset limitado |
| Relativo (PC-Relativo) | PC + offset | BRANCH label | Código independente de posição | Range limitado |
| Pilha | Ponteiro de pilha implícito (push/pop) | PUSH R1 | Ligação subrotina eficiente | LIFO apenas |
ISAs modernas balanceiam expressividade (indexado, PC-relativo) com simplicidade de hardware.
Tecnologia Eletrônica © [www.351231.com]