O endereço armazenado no contador de programa é representado pelo símbolo X1. A instrução armazenada em X1 tem uma parte de endereço (referência de operando) X2. O operando necessário para executar a instrução é armazenado na palavra de memória com endereço X3. Um registrador indexador contém o valor X4. Qual é a relação entre essas diversas grandezas se o modo de endereçamento for
dexado?

Passo 1

O enunciado dá as seguintes informações e pede uma relação entre elas:
  • O endereço armazenado no contador de programa é X_1.
  • A instrução armazenada em X_1 tem uma parte de endereço (referência de operando) X_2.
  • O operando necessário para executar a instrução está na palavra de memória com endereço X_3.
  • Um registrador indexador contém o valor X_4.
    O que nos pedem: relacionar X_1, X_2, X_3 e X_4 quando o modo de endereçamento for indexado (dexado).

Passo 2

O que significa “modo de endereçamento indexado” (explicação didática e sem pular etapas).
  • Em muitas arquiteturas, uma instrução contém um campo que indica um endereço-base ou deslocamento; chamamos esse campo de “referência de operando”. Aqui esse campo é X_2 (extraído da instrução que fica em X_1).
  • O registrador indexador contém um valor que serve para ajustar esse endereço-base em tempo de execução; aqui esse valor é X_4.
  • A ideia é simples: o endereço efetivo (onde o operando realmente está na memória) é obtido somando o campo da instrução com o conteúdo do indexador. Essa soma evita que o programador precise reescrever instruções para acessar elementos consecutivos (por exemplo, em vetores).

Passo 3

Definição e fórmula do endereço efetivo (EA).
  • Denotamos por “endereço efetivo” o endereço na memória usado para buscar o operando. Vamos chamar esse endereço efetivo de EA.
  • A regra do modo indexado é:
\text{EA} = \text{campo\_endereço} + \text{conteúdo\_indexador}.çú
  • No nosso problema, o campo de endereço é X_2 e o conteúdo do indexador é X_4. Portanto a fórmula fica:
\text{EA} = X_2 + X_4.

Passo 4

Relacionando EA com X_3 (ligando à informação do enunciado).
  • O enunciado diz que o operando está na palavra de memória com endereço X_3. Isso quer dizer que o endereço efetivo calculado pelo modo indexado deve coincidir com X_3, pois é aí que se encontra o operando.
  • Logo, igualando:
X_3 = \text{EA}.

Passo 5

Combinação das duas fórmulas para obter a relação final.
  • Substituindo a expressão de \text{EA} da Passo 3 na igualdade do Passo 4, obtemos:
X_3 = X_2 + X_4.
  • Essa é a relação direta que liga o campo de endereço da instrução, o registrador indexador e o endereço onde o operando está.

Passo 6

Observações práticas e lógico-operacionais (como usar isso numa prova).
  • A instrução está em X_1; dentro dela está armazenado X_2. Em tempo de execução lê-se X_2, soma-se com X_4 (o indexador) e obtém-se X_3, que é o endereço da memória onde está o operando.
  • Em notação de acesso à memória, o operando seria lido como \text{Mem}[X_3] ou \text{Mem}[\,X_2+X_4\,].
  • Dica para a prova: se perguntarem “onde está o operando?” responda X_3 e mostre o cálculo X_3 = X_2 + X_4. Se pedirem “o que há em X_1?” responda que é a instrução cujo campo de endereço é X_2.

Resposta

X_3 = X_2 + X_4
A instrução em X_1 contém o campo de endereço X_2; o operando está em \text{Mem}[X_3]=\text{Mem}[\,X_2+X_4\,].

Exercícios relacionados