.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