[# manual memory: make a block, fill it, sum it, free it #]
define main
make 4 of int64 block
move at
set 40
move 0
write
back
set 41
move 1
write
back
set 42
move 2
write
back
set 43
move 3
write
back
make int64 i
make int64 sum
set 3
move i
write
set 0
home
mark sum
move i
read
compare 0
jump done when less
set 0
home
move i
read
push
move block
read
move at
pop
move index
read
push
move sum
read
add
move sum
write
move i
read
subtract 1
move i
write
set 0
home
jump sum
mark done
move sum
read
output
move block
read
free
return
end