After a quick reading of this, I'd have expected the value of "f" at the indicated 
point to be 1, but instead it's 2.

.local int f
.sub _main
        .local int x
        .sub _foo1
                f=1
                x=2
                call _foo2
                end
        .end
        .sub _foo2
                call _another1
                ret
        .end
.end
.sub _another
        .sub _another1
                call _another2
                ret
        .end
        .sub _another2
                print "f is 1: "
                print f
                print "\n"
                ret
        .end
.end

Have I completely misunderstood something about .local?

Reply via email to