mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-23 16:08:06 +11:00
forth: Forth-ify "XOR"
This commit is contained in:
parent
1871f7cdb4
commit
66412a1c30
Binary file not shown.
@ -1505,31 +1505,13 @@ DIVMOD:
|
||||
jp next
|
||||
|
||||
|
||||
.db "XOR"
|
||||
.fill 4
|
||||
.dw $-DIVMOD
|
||||
.db 0
|
||||
XOR:
|
||||
.dw nativeWord
|
||||
pop hl
|
||||
pop de
|
||||
call chkPS
|
||||
ld a, e
|
||||
xor l
|
||||
ld l, a
|
||||
ld a, d
|
||||
xor h
|
||||
ld h, a
|
||||
push hl
|
||||
jp next
|
||||
|
||||
; It might look peculiar to have specific words for "0" and "1", but although
|
||||
; it slightly beefs ups the ASM part of the binary, this one-byte-save-per-use
|
||||
; really adds up when we compare total size.
|
||||
|
||||
.db "0"
|
||||
.fill 6
|
||||
.dw $-XOR
|
||||
.dw $-DIVMOD
|
||||
.db 0
|
||||
ZERO:
|
||||
.dw nativeWord
|
||||
|
@ -54,6 +54,7 @@
|
||||
;
|
||||
0xa0 OP1r0 ANDr,
|
||||
0xb0 OP1r0 ORr,
|
||||
0xa8 OP1r0 XORr,
|
||||
|
||||
( qq -- also works for ss )
|
||||
: OP1qq
|
||||
|
@ -97,6 +97,19 @@ CODE OR
|
||||
HL PUSHqq,
|
||||
;CODE
|
||||
|
||||
CODE XOR
|
||||
HL POPqq,
|
||||
DE POPqq,
|
||||
chkPS,
|
||||
A E LDrr,
|
||||
L XORr,
|
||||
L A LDrr,
|
||||
A D LDrr,
|
||||
H XORr,
|
||||
H A LDrr,
|
||||
HL PUSHqq,
|
||||
;CODE
|
||||
|
||||
CODE PC!
|
||||
BC POPqq,
|
||||
HL POPqq,
|
||||
|
Loading…
Reference in New Issue
Block a user