3bee5e2370ce418c817258ed56092a6378c45779
[calu.git] / 2_isa / src / sum.s
1 .text
2 sum:
3         ;r1 = len
4         ;r2 = arr
5         ;r3 = i
6         ;r0 = sum
7         ;r4 arr data
8         ldis r0, 0
9         addi r3, r1, 0
10         retzs- ; check len != 0
11 loop:
12         ;load arr data
13         ldw r4, 0(r2)
14         ;sum += arr[i];
15         add r0, r0, r4
16         addi r2, r2, 4
17         subi r3, r3, 1
18         branchnz+ loop
19         ret