-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathprogram-branches.asm
More file actions
32 lines (26 loc) · 1.03 KB
/
program-branches.asm
File metadata and controls
32 lines (26 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Na versão final entregue, os pinos visíveis no top level, visualizados no gtkwave, devem ser:
• reset;
• clock;
• estado;
• PC;
• instrução (saída do Registrador de Instrução);
• saídas do banco de registradores (valores de Reg1 e Reg2);
• saída da ULA.
Mantenha os pinos visíveis no top level como descritos no laboratório passado.
Para a entrega, o testbench e a ROM devem estar configurados para executar um programa
que faz o seguinte:
1. Carrega R3 (o registrador 3) com o valor 0
2. Carrega R4 com 0
3. Soma R3 com R4 e guarda em R4
4. Soma 1 em R3
5. Se R3<30 salta para a instrução do passo 3 *
6. Copia valor de R4 para R
0 ldi r1, 1 0001 001 0000001
1 ldi r2, 29 0001 010 0011101
2 ldi r3, 0 0001 011 0000000
3 ldi r4, 0 0001 100 0000000
4 add r4, r3 0011 100 011 0000
5 add r3, r1 0011 011 001 0000
6 cp r2, r3 0101 010 011 0000
7 brge -3 1000 1111101 000 -- 3 está em complemento de 2
8 mov r5, r4 0010 101 100 0000