X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2Fruntime%2Fincsp2.s;h=639f8a44f14a55b3722d0b5f02b84e8301cc2880;hb=ef4a2e667da2b1486f62bda828450b3b46772f85;hp=959294326f59b52b45b60074d6719d53550e732d;hpb=dd0ddc94e341d0646b5a65edcb3248dc0cf38ebb;p=cc65 diff --git a/libsrc/runtime/incsp2.s b/libsrc/runtime/incsp2.s index 959294326..639f8a44f 100644 --- a/libsrc/runtime/incsp2.s +++ b/libsrc/runtime/incsp2.s @@ -7,15 +7,21 @@ .export popax, incsp2 .importzp sp + .macpack cpu + ; Pop a/x from stack. This function will run directly into incsp2 .proc popax ldy #1 - lda (sp),y ; get hi byte - tax ; into x + lda (sp),y ; get hi byte + tax ; into x +.if (.cpu .bitand ::CPU_ISET_65SC02) + lda (sp) ; get lo byte +.else dey lda (sp),y ; get lo byte +.endif .endproc @@ -23,18 +29,15 @@ .proc incsp2 - ldy sp ; 3 - iny ; 2 - beq @L1 ; 2 - iny ; 2 - beq @L2 ; 2 - sty sp ; 3 - rts - -@L1: iny ; 2 -@L2: sty sp ; 3 - inc sp+1 ; 5 - rts + inc sp ; 5 + beq @L1 ; 2 + inc sp ; 5 + beq @L2 ; 2 + rts + +@L1: inc sp ; 5 +@L2: inc sp+1 ; 5 + rts .endproc