s3e: fix build break
[calu.git] / 8_benchs / src / sum.s
1 .data
2 arr:
3         .fill 2
4         .fill 3
5         .fill 5
6         .fill 7
7         .fill 11
8         .fill 13
9         .fill 17
10         .fill 19
11         .fill 23
12         .fill 29
13         .fill 31
14         .fill 37
15         .fill 41
16         .fill 43
17         .fill 47
18         .fill 53
19
20 .text
21 main:
22         ldis r1, 16
23         ldil r2, arr@lo
24         ldih r2, arr@hi
25         call+ sum
26         br+ main
27
28 sum:
29         ;r1 = len
30         ;r2 = arr
31         ;r3 = i
32         ;r0 = sum
33         ;r4 arr data
34         ldis r0, 0
35         addi r3, r1, 0
36         retzs- ; check len != 0
37 loop:
38         ;load arr data
39         ldw r4, 0(r2)
40         ;sum += arr[i];
41         add r0, r0, r4
42         addi r2, r2, 4
43         subi r3, r3, 1
44         brnz+ loop
45         ret