Saved 6 bytes by using popptr1.
This commit is contained in:
@@ -88,10 +88,10 @@
|
|||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
lda tmp1
|
lda tmp1
|
||||||
sta (ptr2),y
|
sta (ptr1),y
|
||||||
inc ptr2
|
inc ptr1
|
||||||
bne @L1
|
bne @L1
|
||||||
inc ptr2+1 ; *buf++ = A;
|
inc ptr1+1 ; *buf++ = A;
|
||||||
|
|
||||||
; Increment the byte count
|
; Increment the byte count
|
||||||
|
|
||||||
@@ -107,9 +107,9 @@
|
|||||||
|
|
||||||
; Decrement the count
|
; Decrement the count
|
||||||
|
|
||||||
@L3: inc ptr1
|
@L3: inc ptr2
|
||||||
bne @L0
|
bne @L0
|
||||||
inc ptr1+1
|
inc ptr2+1
|
||||||
bne @L0
|
bne @L0
|
||||||
beq done ; Branch always
|
beq done ; Branch always
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
.export rwcommon
|
.export rwcommon
|
||||||
|
|
||||||
.import popax
|
.import popax, popptr1
|
||||||
.importzp ptr1, ptr2, ptr3, tmp2
|
.importzp ptr1, ptr2, ptr3, tmp2
|
||||||
|
|
||||||
.include "errno.inc"
|
.include "errno.inc"
|
||||||
@@ -22,18 +22,15 @@
|
|||||||
.proc rwcommon
|
.proc rwcommon
|
||||||
|
|
||||||
eor #$FF
|
eor #$FF
|
||||||
sta ptr1
|
sta ptr2
|
||||||
txa
|
txa
|
||||||
eor #$FF
|
eor #$FF
|
||||||
sta ptr1+1 ; Remember -count-1
|
sta ptr2+1 ; Remember -count-1
|
||||||
|
|
||||||
jsr popax ; Get buf
|
jsr popptr1 ; Get buf
|
||||||
sta ptr2
|
; Y=0 by popptr1
|
||||||
stx ptr2+1
|
sty ptr3
|
||||||
|
sty ptr3+1 ; Clear ptr3
|
||||||
lda #$00
|
|
||||||
sta ptr3
|
|
||||||
sta ptr3+1 ; Clear ptr3
|
|
||||||
|
|
||||||
jsr popax ; Get the handle
|
jsr popax ; Get the handle
|
||||||
cpx #$01
|
cpx #$01
|
||||||
|
|||||||
@@ -61,10 +61,10 @@
|
|||||||
; Output the next character from the buffer
|
; Output the next character from the buffer
|
||||||
|
|
||||||
@L0: ldy #0
|
@L0: ldy #0
|
||||||
lda (ptr2),y
|
lda (ptr1),y
|
||||||
inc ptr2
|
inc ptr1
|
||||||
bne @L1
|
bne @L1
|
||||||
inc ptr2+1 ; A = *buf++;
|
inc ptr1+1 ; A = *buf++;
|
||||||
@L1: jsr BSOUT
|
@L1: jsr BSOUT
|
||||||
|
|
||||||
; Check the status
|
; Check the status
|
||||||
@@ -84,9 +84,9 @@
|
|||||||
|
|
||||||
; Decrement count
|
; Decrement count
|
||||||
|
|
||||||
@L2: inc ptr1
|
@L2: inc ptr2
|
||||||
bne @L0
|
bne @L0
|
||||||
inc ptr1+1
|
inc ptr2+1
|
||||||
bne @L0
|
bne @L0
|
||||||
|
|
||||||
; Wrote all chars or disk full. Close the output channel
|
; Wrote all chars or disk full. Close the output channel
|
||||||
|
|||||||
Reference in New Issue
Block a user