Merge pull request #2812 from colinleroy/Opt-ldptr1

Optimize ldax?sp/sta/stx to ldptr1?sp
This commit is contained in:
Bob Andrews
2025-07-27 00:22:21 +02:00
committed by GitHub
5 changed files with 110 additions and 10 deletions

20
libsrc/runtime/ldptr1sp.s Normal file
View File

@@ -0,0 +1,20 @@
;
; Colin Leroy-Mira, 2025-07-26
;
; CC65 runtime: Load ptr1 from offset in stack
;
.export ldptr10sp, ldptr1ysp
.importzp c_sp, ptr1
; Beware: The optimizer knows about the value in Y after return!
ldptr10sp:
ldy #1
ldptr1ysp:
lda (c_sp),y ; get high byte
sta ptr1+1 ; and save it
dey ; point to lo byte
lda (c_sp),y ; load low byte
sta ptr1
rts