push "hello"
output
call foobar
push 3
:label
dup
push 4
push 5
add
add
output
dec
dup
branch_not_zero label
call foobar
push "end"
output
halt
:foobar
var a
var b
call barfoo
push "first"
push "second"
pop $a
pop $b
push $a
push $b
output
output
return
:barfoo
push "barfoo"
output
return