.function Main 0 ldconst 0 call Fibo out pop ldconst 1 call Fibo out pop ldconst 2 call Fibo out pop ldconst 3 call Fibo out pop ldconst 4 call Fibo out pop ldconst 5 call Fibo out pop ldconst 6 call Fibo out pop ldconst 7 call Fibo out pop ldconst 8 call Fibo out pop ldconst 0 ret .function Fibo 1 # if $0 < 1 { return 0; } ldloc 0 ldconst 1 lt brf LBL1 ldconst 0 goto END # else if $0 < 2 { return 0; } LBL1: ldloc 0 ldconst 2 lt brf LBL2 ldconst 1 goto END # else { return Fibo($0 - 2) + Fibo($0 - 1); } LBL2: ldloc 0 ldconst 2 sub call Fibo ldloc 0 ldconst 1 sub call Fibo add END: ret