projects
/
calu.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
test: added -j to make
[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
addis r0,r0,-53
15
stw r0, 12(r2) ;50
16
17
addis r0,r0,-10
18
stw r0, 16(r2) ;40
19
20
ldis r1, 5
21
call sum
22
;r0 sollte 1+3+103+50+40=197 sein
23
br dummynop
24
25
sum:
26
;r1 = len
27
;r2 = arr
28
;r3 = i
29
;r0 = sum
30
;r4 arr data
31
ldis r0, 0
32
addi r3, r1, 0
33
retzs- ; check len != 0
34
loop:
35
;load arr data
36
ldw r4, 0(r2)
37
;sum += arr[i];
38
add r0, r0, r4
39
addi r2, r2, 4
40
subi r3, r3, 1
41
brnz+ loop
42
ret
43
44
dummynop:
45
addi r0,r0,0