mirror of
https://github.com/cc65/cc65.git
synced 2024-12-23 19:29:37 +00:00
13482984ca
About all CONIO functions offering a <...>xy variant call popa _gotoxy By providing an internal gotoxy variant that starts with a popa all those CONIO function can be shortened by 3 bytes. As soon as program calls more than one CONIO function this means an overall code size reduction.
29 lines
809 B
ArmAsm
29 lines
809 B
ArmAsm
;
|
|
; Copied from CBM implementation
|
|
;
|
|
; originally by:
|
|
; Ullrich von Bassewitz, 08.08.1998
|
|
;
|
|
; void cclearxy (unsigned char x, unsigned char y, unsigned char length);
|
|
; void cclear (unsigned char length);
|
|
;
|
|
|
|
.export _cclearxy, _cclear
|
|
.import gotoxy, cputdirect
|
|
.importzp tmp1
|
|
|
|
_cclearxy:
|
|
pha ; Save the length
|
|
jsr gotoxy ; Call this one, will pop params
|
|
pla ; Restore the length and run into _cclear
|
|
|
|
_cclear:
|
|
cmp #0 ; Is the length zero?
|
|
beq L9 ; Jump if done
|
|
sta tmp1
|
|
L1: lda #' '
|
|
jsr cputdirect ; Direct output
|
|
dec tmp1
|
|
bne L1
|
|
L9: rts
|