Considere uma CPU simples cujo formato de instrução tem 1 byte (8 bits) de opcode seguido por 1 byte de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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 uma CPU simples cujo formato de instrução tem 1 byte (8 bits) de opcode seguido por 1 byte de operando. A tabela de opcodes é: 0x10 = LOAD, 0x20 = STORE, 0x30 = JMP. Na memória estão os bytes (em hexadecimal): 10 05 30 08. Converta esses bytes em uma listagem em linguagem assembly, linha por linha, mostrando também o operando em decimal.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Interpretação dos bytes em pares (opcode, operando): 1) 0x10 0x05: opcode 0x10 corresponde a LOAD. O operando 0x05 em decimal é 5. Linha: LOAD 5 2) 0x30 0x08: opcode 0x30 corresponde a JMP. O operando 0x08 em decimal é 8. Linha: JMP 8 Portanto a listagem em assembly é: Linha 1: LOAD 5 Linha 2: JMP 8 Observação: cada instrução ocupa 2 bytes (1 para opcode e 1 para operando), então os bytes foram lidos em pares consecutivos.
Explicação
A interpretação dos bytes em pares permite identificar claramente cada instrução, onde o primeiro byte representa o opcode e o segundo byte é o operando. A conversão dos opcodes para suas respectivas operações em linguagem assembly e a transformação dos operandos de hexadecimal para decimal garantem uma representação precisa das instruções. Assim, a listagem final reflete corretamente a sequência de operações que a CPU deve executar.
Raio-X da questão
instruções em assembly
avaliacao
conversao hexadecimal decimal · formato de instrucao assembly
Revisar a conversão de opcodes e operandos em assembly.
Confundir o opcode com o operando ou nao converter corretamente o operando de hexadecimal para decimal.
pensamento_critico
cientifico
Questões parecidas com resolução
- Considere a tabela de opcodes: ADD = 00000010, SUB = 00000011, MOV = 00000100. Em um formato com 8 bits de opcode…
- Identifique qual das opções abaixo representa uma instrução que uma máquina pode executar.
- Explique, com suas palavras, a diferença entre opcode e operando em uma instrução de máquina e dê um exemplo simples de…
- Escreva uma sequência simples de instruções (em pseudo-assembly) que some três valores armazenados em memória nas…
- Identifique qual das opções representa um conjunto de instruções que uma máquina pode executar.
- As instruções de máquina são representadas, principalmente, em que formato dentro do computador?
🔎 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
