;
; Ullrich von Bassewitz, 07.04.2000
+; Christian Krueger, 12-Mar-2017, added 65SC02 optimization
;
; CC65 runtime: -= operator
;
.export lsubeq1, lsubeqa, lsubeq
.importzp sreg, ptr1
+ .macpack cpu
lsubeq1:
lda #$01
stx sreg+1
lsubeq: sty ptr1+1 ; Store high byte of address
- ldy #$00 ; Address low byte
+
sec
-
eor #$FF
+ .if (.cpu .bitand ::CPU_ISET_65SC02)
+ adc (ptr1) ; Subtract byte 0
+ sta (ptr1)
+ ldy #$01 ; Address byte 1
+ .else
+ ldy #$00 ; Address low byte
adc (ptr1),y ; Subtract byte 0
sta (ptr1),y
+ iny ; Address byte 1
+ .endif
pha ; Save byte 0 of result for later
-
- iny ; Address byte 1
txa
eor #$FF
adc (ptr1),y ; Subtract byte 1