; flavours that provide default values for the return val, or drop a local
; stack frame with size in y.
- .export leave00, leave0, leavey00, leavey0, leavey
- .export leave
- .import addysp
- .importzp sp
+ .export leave00, leave0, leavey00, leavey0, leavey
+ .export leave
+ .import addysp
+ .importzp sp
leave00:
- lda #0
-leave0: ldx #0
- beq leave
+ lda #0
+leave0: ldx #0
+ beq leave
leavey00:
- lda #0 ; "return 0"
+ lda #0 ; "return 0"
leavey0:
- ldx #0 ; return < 256
+ ldx #0 ; return < 256
leavey:
- jsr addysp ; drop stack frame
-leave: pha ; save A a sec
- ldy #0
- lda (sp),y ; that's the pushed arg size
- sec ; Count the byte, the count's stored in
- adc sp
- sta sp
- bcc L1
- inc sp+1
-L1: pla ; Get return value back
- rts
+ jsr addysp ; drop stack frame
+leave: pha ; save A a sec
+ ldy #0
+ lda (sp),y ; that's the pushed arg size
+ sec ; Count the byte, the count's stored in
+ adc sp
+ sta sp
+ bcc L1
+ inc sp+1
+L1: pla ; Get return value back
+ rts