1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-20 09:31:48 +00:00

Saved 6 bytes by using popptr1.

This commit is contained in:
IrgendwerA8 2018-05-21 16:21:45 +02:00
parent 81b3c16c7e
commit c40ae4d774
3 changed files with 17 additions and 20 deletions

View File

@ -88,10 +88,10 @@
ldy #0
lda tmp1
sta (ptr2),y
inc ptr2
sta (ptr1),y
inc ptr1
bne @L1
inc ptr2+1 ; *buf++ = A;
inc ptr1+1 ; *buf++ = A;
; Increment the byte count
@ -107,9 +107,9 @@
; Decrement the count
@L3: inc ptr1
@L3: inc ptr2
bne @L0
inc ptr1+1
inc ptr2+1
bne @L0
beq done ; Branch always

View File

@ -6,7 +6,7 @@
.export rwcommon
.import popax
.import popax, popptr1
.importzp ptr1, ptr2, ptr3, tmp2
.include "errno.inc"
@ -22,18 +22,15 @@
.proc rwcommon
eor #$FF
sta ptr1
sta ptr2
txa
eor #$FF
sta ptr1+1 ; Remember -count-1
sta ptr2+1 ; Remember -count-1
jsr popax ; Get buf
sta ptr2
stx ptr2+1
lda #$00
sta ptr3
sta ptr3+1 ; Clear ptr3
jsr popptr1 ; Get buf
; Y=0 by popptr1
sty ptr3
sty ptr3+1 ; Clear ptr3
jsr popax ; Get the handle
cpx #$01

View File

@ -61,10 +61,10 @@
; Output the next character from the buffer
@L0: ldy #0
lda (ptr2),y
inc ptr2
lda (ptr1),y
inc ptr1
bne @L1
inc ptr2+1 ; A = *buf++;
inc ptr1+1 ; A = *buf++;
@L1: jsr BSOUT
; Check the status
@ -84,9 +84,9 @@
; Decrement count
@L2: inc ptr1
@L2: inc ptr2
bne @L0
inc ptr1+1
inc ptr2+1
bne @L0
; Wrote all chars or disk full. Close the output channel