projects
/
calu.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
b005a0557384eb730e32249f10f8b130d8532979
[calu.git]
/
3_test
/
sum.s
1
.text
2
main:
3
ldis r2, 0x100
4
5
ldis r0, 1
6
stw r0, 0(r2) ;1
7
8
addi r0,r0,2
9
stw r0, 4(r2) ;3
10
11
addi r0,r0,100
12
stw r0, 8(r2) ;103
13
14
addi r0,r0,-53
15
stw r0, 12(r2) ;50
16
17
addi r0,r0,-10
18
stw r0, 16(r2) ;40
19
20
;ldis r1, 5
21
ldis r1, 0
22
call sum
23
;r0 sollte 1+3+103+50+40=197 sein
24
br dummynop
25
26
sum:
27
;r1 = len
28
;r2 = arr
29
;r3 = i
30
;r0 = sum
31
;r4 arr data
32
ldis r0, 0
33
addi r3, r1, 0
34
retzs- ; check len != 0
35
loop:
36
;load arr data
37
ldw r4, 0(r2)
38
;sum += arr[i];
39
add r0, r0, r4
40
addi r2, r2, 4
41
subi r3, r3, 1
42
brnz+ loop
43
ret
44
45
dummynop:
46
addi r0,r0,0