Pular para o conteúdo

Exercício 1

Executar o primeiro exemplo de programa em linguagem de montagem RISC-V.

  1. Abra o simulador de linguagem RISC-V.
  2. No editor de texto do simulador, transcreva o código abaixo:
# Exercício 01
# C expression: f = (g + h) - (i + j)
.text
main:
addi t1, zero, 4 # g = 4
addi t2, zero, 3 # h = 3
addi t3, zero, 2 # i = 2
addi t4, zero, 1 # j = 1
add t5, t1, t2 # t5 = g + h
add t6, t3, t4 # t6 = i + j
sub t0, t5, t6 # f = t5 - t6 (resultado em t0)

A execução dessa primeira instrução modificou apenas o conteúdo do registrador t1. As demais instruções irão modificar outros registradores. Execute o programa passo a passo e preencha a tabela abaixo, marcando o conteúdo do registrador PC, a instrução a ser executada e o valor dos registradores após a execução da instrução. Anote o valor de um registrador apenas quando ele é modificado.

Preencha a tabela abaixo

  • Preencha o PC com o endereço da instrução e copie a coluna Instrução com o conteúdo da coluna Source do simulador. Preencha apenas os campos que forem modificados.
  • Se precisar de mais linhas, clique em Adicionar linha. A verificação só é realizada quando todas as linhas estiverem preenchidas, se nada aparecer ao clicar em Verificar, significa que ainda há linhas em branco.
Antes Após executar a instrução
PC Instruction x5x6x7x28x29x30x31
(t0)(t1)(t2)(t3)(t4)(t5)(t6)
0x000000000x000000000x000000000x000000000x000000000x000000000x00000000
0x00400000 addi t1 zero 4 0x000000000x000000040x000000000x000000000x000000000x000000000x00000000

Dica: no diálogo de impressão, selecione o tamanho A2 para melhor resultado.