GeraProva GeraProva Provas com IA para professores do Brasil
Computação2ª sérieBNCC EM13CO02Média⏱ medio

Considere a tabela de opcodes: ADD = 00000010, SUB = 00000011, MOV = 00000100. Em um formato com 8 bits de…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO02

Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Considere a tabela de opcodes: ADD = 00000010, SUB = 00000011, MOV = 00000100. Em um formato com 8 bits de opcode seguido por 8 bits de operando imediato, qual é a codificação da instrução 'ADD 12'?

  1. A) 0000001000001100
  2. B) 0000010000001100
  3. C) 0000001100001100
  4. D) 0000001000001011
  5. E) 0000001000011000

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. Identifique o opcode de ADD na tabela: 00000010 (8 bits).
  2. Converta o operando imediato 12 para binário com 8 bits. 12 = 8 + 4 = 2^3 + 2^2, logo 00001100.
  3. Concatene os dois campos, na ordem opcode seguido de operando: 00000010 + 00001100 = 0000001000001100, que tem 16 bits, como pede o formato.
  4. Compare com as alternativas. A é exatamente essa sequência, e o gabarito oficial (A) está correto.
  5. Por que as outras estão erradas: B usa o opcode de MOV (00000100), não o de ADD. C usa o opcode de SUB (00000011), não o de ADD. D codifica 11 (00001011) em vez de 12 no operando. E codifica 24 (00011000), o que equivale a deslocar 12 uma casa para a esquerda em binário, ou seja, dobrar o valor.

💡 Dica: Converta o opcode e o operando para binário e combine.

Alternativa por alternativa

A Correta

Correto — 00000010 (ADD) + 00001100 (12) = 0000001000001100.

B Erradaerro: Atenção

O aluno trocou o opcode de ADD pelo de MOV (00000100), tratando os opcodes como se fossem intercambiáveis ou lendo a linha errada da tabela.

C Erradaerro: Interpretação

O aluno usou o opcode de SUB (00000011) em vez do de ADD, provavelmente por leitura da tabela na linha vizinha.

D Erradaerro: Procedimentala que mais engana

O aluno converteu o operando 12 de forma errada, obtendo 00001011 (que é 11), ou seja, errou a conversão decimal para binário.

Por que engana: Confundir o opcode com o operando imediato, ou converter incorretamente o numero decimal para binario.

E Erradaerro: Procedimental

O aluno codificou o operando como 00011000 (24), possivelmente porque deslocou os bits de 12 para a esquerda ou dobrou o valor ao converter, achando que isso era a codificação do número.

Raio-X da questão

Dificuldade Média
Bloom Lembrar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ calculativa🧩 consolidacao
🎯 Conceito central

codificação de instruções

📌 Objetivo

avaliacao

🧱 Pré-requisitos

representacao binaria de numeros · codificacao de instrucoes em binario

📚 Reveja

Revisar a representação binária de opcodes e operandos.

⚠️ Erro mais comum

Confundir o opcode com o operando imediato, ou converter incorretamente o numero decimal para binario.

🌎 Tema transversal

ciencia_tecnologia

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.