]> git.sur5r.net Git - cc65/blobdiff - libsrc/runtime/lsub.s
no TGI_ERR_NO_MEM or TGI_ERR_NO_IOCB anymore: replaced by TGI_ERR_NO_RES
[cc65] / libsrc / runtime / lsub.s
index 0ba716a9d91f33ee6b7bfe97cafd8fc2a6d1dfd2..30ae49da173eda0753ff20be0face7860233cd5c 100644 (file)
@@ -7,17 +7,29 @@
 ;
 ; EAX = TOS - EAX
 ;
-       .export         tossubeax
-       .import         addysp1
-       .importzp       sp, sreg
+       .export         tossub0ax, tossubeax
+       .import         addysp1
+       .importzp       sp, sreg
+
+        .macpack        cpu
+
+tossub0ax:
+        ldy     #$00
+        sty     sreg
+        sty     sreg+1
 
 tossubeax:
-       ldy     #0
-               sec
+       sec
        eor     #$FF
-               adc     (sp),y          ; byte 0
+.if (.cpu .bitand CPU_ISET_65SC02)
+       adc     (sp)            ; 65SC02 version - saves 2 cycles
+       ldy     #1
+.else
+       ldy     #0
+       adc     (sp),y          ; lo byte
+       iny
+.endif
                pha                     ; Save low byte
-       iny
        txa
        eor     #$FF
        adc     (sp),y          ; byte 1