Considere um processador em cujo conjunto de instruçōes há instruçōes de três operandos. A instruçāo mult multiplica os dois primeiros operandos e armazena o resultado no terceiro operando e add soma os dois primeiros operandos e armazena o resultado no terceiro. Neste processador, o código que corresponde à operaçāo
é:
Escolha uma:
a. mult B, C, B mult B, C, C add X, B, C
b. mult B, C, C add D, X, B add B, C, X
- c. mult B, C, X add D, X, X
d. mult B, X, X add D, C, X
e. mult B, C, C add D, B, X
Escolha uma:
a. mult B, C, B mult B, C, C add X, B, C
b. mult B, C, C add D, X, B add B, C, X
d. mult B, X, X add D, C, X
e. mult B, C, C add D, B, X
Passo 1
Vamos resumir o que a questão está pedindo e identificar o que precisamos para resolvê-la.
Enunciado Resumido: Temos um processador com instruções de três operandos:
mult
(multiplica os dois primeiros operandos e armazena no terceiro) e add
(soma os dois primeiros operandos e armazena no terceiro). Queremos representar a operação matemática $ X = (B \times C) + D $ usando essas instruções.Conteúdo da Matéria: Estamos lidando com conjunto de instruções de processadores e como traduzir operações matemáticas para sequências de instruções de máquina.
O que Precisamos: Entender como decompor a operação $ X = (B \times C) + D $ em instruções
mult
e add
com três operandos cada, garantindo que o resultado final seja armazenado na variável $ X $.Passo 2
Primeiro, vamos quebrar a operação $ X = (B \times C) + D $ em etapas menores.
- Multiplicação: Calcular $ B \times C $ e armazenar o resultado em algum lugar temporário.
- Adição: Somar o resultado de $ B \times C $ com $ D $ e armazenar o resultado final em $ X $.
Precisamos então mapear essas etapas para as instruções
mult
e add
.Passo 3
Vamos analisar a primeira instrução:
mult
.- Instrução
mult A, B, C
: Multiplica $ A \times B $ e armazena o resultado em $ C $.
Aplicando isso à nossa primeira etapa:
- Multiplicação: $ B \times C $ armazenado em algum temporário, digamos $ T $.
Portanto, a primeira instrução seria:
Passo 4
Agora, a segunda instrução:
add
.- Instrução
add A, B, C
: Soma $ A + B $ e armazena o resultado em $ C $.
Aplicando isso à nossa segunda etapa:
- Adição: $ T + D $ armazenado em $ X $.
Então, a segunda instrução seria:
Passo 5
No entanto, nas opções fornecidas, não temos uma variável temporária $ T $. Então, precisamos ajustar nossas instruções para usar $ X $ diretamente.
Vamos refazer:
-
Multiplicação: $ B \times C $ armazenado em $ X $.
-
Adição: $ X + D $ armazenado em $ X $.
Passo 6
Agora, vamos comparar nossas instruções com as opções fornecidas:
- A sequência correta que encontramos é:
Analisando as opções, a que corresponde a essa sequência é a opção c.
Resposta
c. mult B, C, X add D, X, X