2020-03-11 23:08:08 +01:00
|
|
|
%import c64flt
|
2019-08-18 01:39:48 +02:00
|
|
|
%zeropage basicsafe
|
2019-08-09 02:15:31 +02:00
|
|
|
|
2019-08-07 02:02:34 +02:00
|
|
|
main {
|
2019-08-05 23:36:24 +02:00
|
|
|
|
|
|
|
sub start() {
|
2020-03-13 02:05:15 +01:00
|
|
|
c64scr.print("spstart:")
|
|
|
|
print_stackpointer()
|
|
|
|
sub1()
|
|
|
|
c64scr.print("spend:")
|
|
|
|
print_stackpointer()
|
|
|
|
}
|
2020-03-11 23:08:08 +01:00
|
|
|
|
2020-03-13 02:05:15 +01:00
|
|
|
sub sub1() {
|
|
|
|
c64scr.print("sp1:")
|
|
|
|
print_stackpointer()
|
|
|
|
sub2()
|
|
|
|
}
|
2020-03-13 01:26:53 +01:00
|
|
|
|
2020-03-13 02:05:15 +01:00
|
|
|
sub sub2() {
|
|
|
|
c64scr.print("sp2:")
|
|
|
|
print_stackpointer()
|
2020-03-14 13:12:01 +01:00
|
|
|
exit(33)
|
2020-03-13 02:44:01 +01:00
|
|
|
sub3() ; TODO warning about unreachable code
|
|
|
|
sub3() ; TODO remove statements after a return
|
2020-03-14 13:12:01 +01:00
|
|
|
c64scr.print("sp2:")
|
|
|
|
c64scr.print("sp2:")
|
|
|
|
sub3()
|
|
|
|
|
2020-03-13 02:31:53 +01:00
|
|
|
sub3()
|
|
|
|
sub3()
|
|
|
|
sub3()
|
|
|
|
sub3()
|
|
|
|
sub3()
|
|
|
|
sub3()
|
|
|
|
sub3()
|
|
|
|
sub3()
|
|
|
|
sub3()
|
2020-03-13 02:05:15 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
sub sub3() {
|
|
|
|
c64scr.print("sp3:")
|
|
|
|
print_stackpointer()
|
|
|
|
}
|
2020-03-11 23:08:08 +01:00
|
|
|
|
2020-03-13 02:05:15 +01:00
|
|
|
sub print_stackpointer() {
|
|
|
|
c64scr.print_ub(X) ; prints stack pointer
|
|
|
|
c64.CHROUT('\n')
|
2019-08-24 16:21:05 +02:00
|
|
|
}
|
2020-03-13 02:05:15 +01:00
|
|
|
}
|