]> git.sur5r.net Git - cc65/blobdiff - libsrc/runtime/lsubeqsp.s
Fixed a bug
[cc65] / libsrc / runtime / lsubeqsp.s
index 6474f4059c41b5bfed2ea881ed196a11254493fc..c679c8806bb0e8473f77368de79d2a56bddcc311 100644 (file)
@@ -2,24 +2,23 @@
 ; Ullrich von Bassewitz, 08.10.1998
 ;
 ; CC65 runtime: -= operator for longs on the stack
-;                          
+;
 
                .export         lsubeq0sp, lsubeqysp
-       .importzp       sp, sreg, tmp1, tmp2
+       .importzp       sp, sreg
 
 lsubeq0sp:
        ldy     #0
 lsubeqysp:
        sec
-       sta     tmp1
-       stx     tmp2
-               lda     (sp),y
-       sbc     tmp1
+       eor     #$FF
+               adc     (sp),y
        sta     (sp),y
-       pha
+       pha                     ; Save low byte
        iny
-               lda     (sp),y
-       sbc     tmp2
+       txa
+       eor     #$FF
+               adc     (sp),y
        sta     (sp),y
        tax
        iny