Source Code
.text
main:
li $4,3 # loop = 3
li $5,0 # sum = 0
li $3,0 # v = 0;
LE: addi $3,$3,5 # v = v + 5
add $5,$5,$3 # sum += v;
beq $4,$0,end # if loop==0 break
addi $4,$4,-1 # loop--
b LE
add $0,$0,$0 # nop (until implemented)
end:
b end # wait here once the program has completed
.end
Simulation Results
# | pc | op | rd | qd (hex) | qd (dec) | addr
|
---|
1 | 00 | ori | 4 | 0003 | 3 |
|
2 | 01 | ori | 5 | 0000 | 0 |
|
3 | 02 | ori | 3 | 0000 | 0 |
|
4 | 03 | addi | 3 | 0005 | 5 |
|
5 | 04 | add | 5 | 0005 | 5 |
|
6 | 05 | beq | 0 | 0003 | 3 |
|
7 | 06 | addi | 4 | 0002 | 2 |
|
8 | 07 | bgez | 0 | 0000 | 0 |
|
9 | 03 | addi | 3 | 000A | 10 |
|
10 | 04 | add | 5 | 000F | 15 |
|
11 | 05 | beq | 0 | 0002 | 2 |
|
12 | 06 | addi | 4 | 0001 | 1 |
|
13 | 07 | bgez | 0 | 0000 | 0 |
|
14 | 03 | addi | 3 | 000F | 15 |
|
15 | 04 | add | 5 | 001E | 30 |
|
16 | 05 | beq | 0 | 0001 | 1 |
|
17 | 06 | addi | 4 | 0000 | 0 |
|
18 | 07 | bgez | 0 | 0000 | 0 |
|
19 | 03 | addi | 3 | 0014 | 20 |
|
20 | 04 | add | 5 | 0032 | 50 |
|
21 | 05 | beq | 0 | 0000 | 0 |
|
22 | 08 | halt |
Registers
format | r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7
|
---|
hex | 00000000 | 00000001 | 00000002 | 00000014 | 00000000 | 00000032 | 00000006 | 00000007 |
decimal | 0 | 1 | 2 | 20 | 0 | 50 | 6 | 7 |
|
format | r8 | r9 | r10 | r11 | r12 | r13 | r14 | r15
|
---|
hex | 00000008 | 00000009 | 0000000A | 0000000B | 0000000C | 0000000D | 0000000E | 0000000F |
decimal | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|
format | r16 | r17 | r18 | r19 | r20 | r21 | r22 | r23
|
---|
hex | 00000010 | 00000011 | 00000012 | 00000013 | 00000014 | 00000015 | 00000016 | 00000017 |
decimal | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
|
format | r24 | r25 | r26 | r27 | r28 | r29 | r30 | r31
|
---|
hex | 00000018 | 00000019 | 0000001A | 0000001B | 0000001C | 0000001D | 0000001E | 0000001F |
decimal | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Data Memory
addr | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
|
---|
00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000
| 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 |
00000010 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000
| 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 |