isa/examples: adapted sum and bootrom
[calu.git] / 2_isa / src / sum.s
1 ;int sum(int len, int arr[]) {
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         retze- ; check len != 0
11 loop:
12         ;load arr data
13         ldw r4, 0(r2);
14         ;sum += arr[i];
15         add r0, r0, r4;
16         subi r3, r3, 1;
17         retze-;
18         addi r2, r2, 4;
19         branch+ loop;