;
; Ullrich von Bassewitz, 06.08.1998
+; Christian Krueger, 11-Mar-2017, added 65SC02 optimization
;
; CC65 runtime: function epilogue
;
.import addysp
.importzp sp
+ .macpack cpu
+
leave00:
lda #0
leave0: ldx #0
ldx #0 ; return < 256
leavey:
jsr addysp ; drop stack frame
+
+.if (.cpu .bitand ::CPU_ISET_65SC02)
+
+leave: tay ; save A a sec
+ lda (sp) ; 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: tya ; Get return value back
+
+.else
+
leave: pha ; save A a sec
ldy #0
lda (sp),y ; that's the pushed arg size
bcc L1
inc sp+1
L1: pla ; Get return value back
+
+.endif
rts