--- /dev/null
+.text
+main:
+ ldis r2, 0x100
+
+ ldis r0, 1
+ stw r0, 0(r2) ;1
+
+ addi r0,r0,2
+ stw r0, 4(r2) ;3
+
+ addi r0,r0,100
+ stw r0, 8(r2) ;103
+
+ addi r0,r0,-53
+ stw r0, 12(r2) ;50
+
+ addi r0,r0,-10
+ stw r0, 16(r2) ;40
+
+ ;ldis r1, 5
+ ldis r1, 0
+ call sum
+ ;r0 sollte 1+3+103+50+40=197 sein
+ br dummynop
+
+sum:
+ ;r1 = len
+ ;r2 = arr
+ ;r3 = i
+ ;r0 = sum
+ ;r4 arr data
+ ldis r0, 0
+ addi r3, r1, 0
+ retzs- ; check len != 0
+loop:
+ ;load arr data
+ ldw r4, 0(r2)
+ ;sum += arr[i];
+ add r0, r0, r4
+ addi r2, r2, 4
+ subi r3, r3, 1
+ brnz+ loop
+ ret
+
+dummynop:
+ addi r0,r0,0