.symbol
 fp 30
 sp 29
 retval 28
 rads 27
 ax 2000
.code 0
 mov fp #4000
 mov sp #3000
 jal rads main
 trap r0 #0
; fun sum pv 0 fs 2
:sum
; gnAsg :(#1 0 )
; gnAsg :(#2 0 )
; gnAsg :(#2 (+ #2 (vec ax #1 )))
; gnBop :(+ #2 (vec ax #1 ))
; gnBop :(!= (vec ax #1 )0 )
st r1 @1 fp
st r2 @2 fp
st r3 @3 fp
st r4 @4 fp
add fp fp #5
st rads @0 fp
mov r1 #0
mov r2 #0
jmp L102
:L103
; vec RHS
ld r3 @ax r1
add r4 r2 r3
mov r2 r4
add r1 r1 #1
:L102
; vec RHS
ld r3 @ax r1
ne r4 r3 #0
jt r4 L103
mov retval r2
jmp L101
:L101
ld rads @0 fp
sub fp fp #5
ld r4 @4 fp
ld r3 @3 fp
ld r2 @2 fp
ld r1 @1 fp
ret rads
; fun main pv 0 fs 0
:main
; gnAsg :((vec ax 0 )11 )
; gnAsg :((vec ax 1 )22 )
; gnAsg :((vec ax 2 )33 )
; gnAsg :((vec ax 3 )44 )
; gnAsg :((vec ax 4 )0 )
st r1 @1 fp
st r2 @2 fp
add fp fp #3
st rads @0 fp
; vec LHS
mov r1 #0
mov r2 #11
st r2 @ax r1
; vec LHS
mov r1 #1
mov r2 #22
st r2 @ax r1
; vec LHS
mov r1 #2
mov r2 #33
st r2 @ax r1
; vec LHS
mov r1 #3
mov r2 #44
st r2 @ax r1
; vec LHS
mov r1 #4
mov r2 #0
st r2 @ax r1
jal rads sum
trap r28 #1
:L104
ld rads @0 fp
sub fp fp #3
ld r2 @2 fp
ld r1 @1 fp
ret rads
.data 200
.end
