mirror of
https://github.com/cc65/cc65.git
synced 2024-12-28 06:30:16 +00:00
Squeezed out a few bytes
git-svn-id: svn://svn.cc65.org/cc65/trunk@3427 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
025221f44a
commit
0a7067e89b
@ -1,5 +1,5 @@
|
|||||||
;
|
;
|
||||||
; Kevin Ruland
|
; Ullrich von Bassewitz, 2005-03-28
|
||||||
;
|
;
|
||||||
; unsigned char __fastcall__ revers (unsigned char onoff)
|
; unsigned char __fastcall__ revers (unsigned char onoff)
|
||||||
;
|
;
|
||||||
@ -9,15 +9,14 @@
|
|||||||
.include "apple2.inc"
|
.include "apple2.inc"
|
||||||
|
|
||||||
_revers:
|
_revers:
|
||||||
ldy INVFLG ; Stash old value
|
tax ; Test onoff
|
||||||
and #$FF ; Test for any bit
|
beq normal ; If zero, "normal" must be set
|
||||||
beq normal ; Nothing set
|
ldx #$3F+1 ; Set "inverse"
|
||||||
lda #~$3F ; Not Inverse
|
normal: dex ; $00->$FF, $40->$3F
|
||||||
normal: eor #$FF ; Xor Normal
|
lda #$00 ; Preload return code for "normal"
|
||||||
sta INVFLG
|
ldy INVFLG ; Load current flag value
|
||||||
tya ; What was the old value?
|
stx INVFLG ; Save new flag value
|
||||||
eor #$FF ; Normal = $FF, Inverse = $3F
|
bmi :+ ; Jump if current value is $FF (normal)
|
||||||
beq :+
|
lda #$01 ; Return "inverse"
|
||||||
lda #$01
|
|
||||||
: ldx #$00
|
: ldx #$00
|
||||||
rts
|
rts
|
||||||
|
Loading…
Reference in New Issue
Block a user