Dados os valores de memória abaixo e uma máquina de arquitetura de 1-endereço com Acumulador, que valores as instruções abaixo carregam no Acumulador?
palavra 20 contém 40
palavra 30 contém 50
palavra 40 contém 60
palavra 50 contém 70
a. LOAD IMMEDIATE 20
palavra 20 contém 40
palavra 30 contém 50
palavra 40 contém 60
palavra 50 contém 70
a. LOAD IMMEDIATE 20
Passo 1
O enunciado fornece os conteúdos de memória (peguei estes números do enunciado):
- a palavra de endereço
contém , - a palavra de endereço
contém , - a palavra de endereço
contém , - a palavra de endereço
contém .
A pergunta: para a instrução "LOAD IMMEDIATE
", que valor é carregado no Acumulador?
Passo 2
Explicando o que é relevante para a questão (devagar, passo a passo): numa máquina de arquitetura de 1-endereço com Acumulador, o Acumulador é o registrador central onde se colocam os operandos para operações aritméticas e de transferência. A instrução LOAD coloca um valor no Acumulador; o detalhe que muda o valor carregado é o modo de endereçamento usado pela instrução.
Diferença entre dois modos comuns (a parte que costuma confundir, explicada com calma):
Diferença entre dois modos comuns (a parte que costuma confundir, explicada com calma):
- Endereçamento imediato (IMMEDIATE): o operando que vem junto com a instrução é um valor literal. Ou seja, o número escrito após a instrução é o próprio dado a ser carregado no Acumulador.
- Endereçamento direto (ou por endereço): o operando que vem junto com a instrução é um endereço de memória; então a máquina acessa esse endereço e carrega o conteúdo da memória no Acumulador.
Exemplo ilustrativo:
- Se a instrução fosse "LOAD IMMEDIATE
", o valor carregado seria o literal . - Se a instrução fosse "LOAD
" (modo direto), o valor carregado seria o conteúdo da palavra de memória no endereço . Pelos dados do enunciado, a palavra no endereço contém , logo nesse caso seria carregado .
Passo 3
Aplicando ao caso dado: a instrução é exatamente "LOAD IMMEDIATE
". Isso usa endereçamento imediato, portanto o que entra no Acumulador não é o conteúdo da memória no endereço
, e sim o próprio operando imediato (o número escrito após a instrução).
Conclusão prática (pra você decorar e não confundir na prova): "LOAD IMMEDIATE " sempre coloca
no Acumulador; "LOAD
" (direto) coloca o conteúdo de memória em endereço
. Aqui, portanto, o Acumulador recebe o valor imediato.
Conclusão prática (pra você decorar e não confundir na prova): "LOAD IMMEDIATE