Questão nº 32

Questão de Tecnologia da Informação · FCC DPE-RS 2017 (nº 32)

FCC2017Analista - Apoio Especializado (TI - Segurança da Informação)Tecnologia da Informação
Gabarito: Aver comentário ↓

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 X = (B * C) + D é:

Resposta comentada

Gabarito Alternativa A

Em um processador com instruções de três operandos, cada instrução como `mult` (multiplicar) ou `add` (somar) recebe dois valores de entrada (operandos fonte) e armazena o resultado em um terceiro local (operando destino). O desafio é sequenciar as instruções e gerenciar onde os resultados intermediários são guardados para construir a expressão final.

(A) Correta: A primeira instrução `mult B, C, X` calcula `B C` e armazena o resultado diretamente em `X`. A segunda instrução `add D, X, X` soma `D` ao valor atual de `X` (que é `B C`) e armazena o resultado final em `X`, completando a operação `X = (B C) + D`.
(B) Incorreta: A instrução `mult B, C, B` sobrescreve `B` com `B
C`. A próxima `mult B, C, C` então calcula `(BC)C` e armazena em `C`, o que não é o desejado. A última instrução `add X, B, C` tem o destino errado (`C` em vez de `X`) e os valores dos operandos também estão incorretos para a soma final.
(C) Incorreta: A instrução `mult B, C, C` calcula `B C` e armazena em `C`. No entanto, a instrução seguinte `add D, B, X` soma `D` com o valor original de `B` (que não foi alterado), resultando em `X = D + B`, e não `X = (B C) + D`. Armadilha da banca: O erro está em usar o operando `B` (original) na soma, em vez do resultado `BC` que foi armazenado em `C`.
(D) Incorreta: A instrução `mult B, X, X` calcula `B
X` e armazena em `X`. Como `X` não possui o valor de `C` ou `BC` inicialmente, esta operação é incorreta para o início da expressão. A instrução `add D, C, X` então calcula `D + C`, o que não corresponde à expressão desejada.
(E) Incorreta: A instrução `mult B, C, C` calcula `B
C` e armazena em `C`. A instrução `add D, X, B` tenta somar `D` com `X` (cujo valor é desconhecido ou não relevante para a expressão neste ponto) e armazena em `B`, sobrescrevendo `B`. A instrução final `add B, C, X` usaria um `B` já modificado e um `C` com `B*C`, mas a sequência de operações e o uso de `X` como operando fonte sem valor definido tornam esta alternativa inválida.

Fonte: FCC DPE-RS 2017 Analista - Apoio Especializado (TI - Segurança da Informação) (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho