]> git.sur5r.net Git - cc65/blobdiff - libsrc/runtime/toslong.s
no TGI_ERR_NO_MEM or TGI_ERR_NO_IOCB anymore: replaced by TGI_ERR_NO_RES
[cc65] / libsrc / runtime / toslong.s
index f26cec121220b3ae3c4cf97a53a9088a994c4123..9bf66a321c8d733fae859cff3a725083bb7c0b6e 100644 (file)
@@ -8,6 +8,8 @@
        .import         decsp2
        .importzp       sp
 
+        .macpack        cpu
+
 ; Convert TOS from int to long
 
 tosulong:
@@ -15,7 +17,7 @@ tosulong:
        jsr     decsp2          ; Make room
        ldy     #2
        lda     (sp),y
-.ifpc02
+.if (.cpu .bitand CPU_ISET_65SC02)
        sta     (sp)            ; 65C02 version
        iny                     ; Y = 3
 .else
@@ -24,6 +26,7 @@ tosulong:
        ldy     #3
 .endif
        lda     (sp),y
+toslong1:
        ldy     #1
        sta     (sp),y
        lda     #0              ; Zero extend
@@ -40,7 +43,7 @@ toslong:
        jsr     decsp2          ; Make room
        ldy     #2
        lda     (sp),y
-.ifpc02
+.if (.cpu .bitand CPU_ISET_65SC02)
        sta     (sp)            ; 65C02 version
        iny                     ; Y = 3
 .else
@@ -49,14 +52,9 @@ toslong:
        ldy     #3
 .endif
        lda     (sp),y
-       bmi     toslong1
-       ldy     #1
-       sta     (sp),y
-       lda     #$00            ; Positive, high word is zero
-       bne     toslong2
-toslong1:
+       bpl     toslong1        ; Jump if positive, high word is zero
        ldy     #1
        sta     (sp),y
        lda     #$FF
-       bne     toslong2
+       bne     toslong2        ; Branch always