mirror of
https://github.com/irmen/prog8.git
synced 2024-09-07 03:54:27 +00:00
60 lines
1.1 KiB
Lua
60 lines
1.1 KiB
Lua
%zeropage basicsafe
|
|
|
|
main {
|
|
|
|
sub start() {
|
|
if A>Y {
|
|
label1:
|
|
Y=0
|
|
goto label1
|
|
} else {
|
|
label2:
|
|
Y=1
|
|
goto label2
|
|
}
|
|
|
|
c64scr.print("spstart:")
|
|
print_stackpointer()
|
|
sub1()
|
|
c64scr.print("spend:")
|
|
print_stackpointer()
|
|
}
|
|
|
|
sub sub1() {
|
|
c64scr.print("sp1:")
|
|
print_stackpointer()
|
|
sub2()
|
|
}
|
|
|
|
sub sub2() {
|
|
c64scr.print("sp2:")
|
|
print_stackpointer()
|
|
exit(33)
|
|
sub3() ; TODO warning about unreachable code
|
|
sub3() ; TODO remove statements after a return
|
|
c64scr.print("sp2:")
|
|
c64scr.print("sp2:")
|
|
sub3()
|
|
|
|
sub3()
|
|
sub3()
|
|
sub3()
|
|
sub3()
|
|
sub3()
|
|
sub3()
|
|
sub3()
|
|
sub3()
|
|
sub3()
|
|
}
|
|
|
|
sub sub3() {
|
|
c64scr.print("sp3:")
|
|
print_stackpointer()
|
|
}
|
|
|
|
sub print_stackpointer() {
|
|
c64scr.print_ub(X) ; prints stack pointer
|
|
c64.CHROUT('\n')
|
|
}
|
|
}
|