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