mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-25 04:48:06 +11:00
forth: add words "AND", "OR", "XOR"
This commit is contained in:
parent
c1ece95089
commit
b47a3ee234
@ -120,7 +120,7 @@ CURRENT -- a Set a to wordref of last added entry.
|
||||
HERE -- a Push HERE's address
|
||||
H -- a HERE @
|
||||
|
||||
*** Arithmetic ***
|
||||
*** Arithmetic / Bits ***
|
||||
|
||||
+ a b -- c a + b -> c
|
||||
- a b -- c a - b -> c
|
||||
@ -129,6 +129,9 @@ H -- a HERE @
|
||||
/ a b -- c a / b -> c
|
||||
MOD a b -- c a % b -> c
|
||||
/MOD a b -- r q r:remainder q:quotient
|
||||
AND a b -- c a & b -> c
|
||||
OR a b -- c a | b -> c
|
||||
XOR a b -- c a ^ b -> c
|
||||
|
||||
*** Logic ***
|
||||
= n1 n2 -- f Push true if n1 == n2
|
||||
|
@ -1618,10 +1618,65 @@ DIVMOD:
|
||||
push bc
|
||||
jp next
|
||||
|
||||
|
||||
.db "AND"
|
||||
.fill 4
|
||||
.dw DIVMOD
|
||||
.db 0
|
||||
AND:
|
||||
.dw nativeWord
|
||||
pop hl
|
||||
pop de
|
||||
call chkPS
|
||||
ld a, e
|
||||
and l
|
||||
ld l, a
|
||||
ld a, d
|
||||
and h
|
||||
ld h, a
|
||||
push hl
|
||||
jp next
|
||||
|
||||
.db "OR"
|
||||
.fill 5
|
||||
.dw AND
|
||||
.db 0
|
||||
OR:
|
||||
.dw nativeWord
|
||||
pop hl
|
||||
pop de
|
||||
call chkPS
|
||||
ld a, e
|
||||
or l
|
||||
ld l, a
|
||||
ld a, d
|
||||
or h
|
||||
ld h, a
|
||||
push hl
|
||||
jp next
|
||||
|
||||
.db "XOR"
|
||||
.fill 4
|
||||
.dw OR
|
||||
.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
|
||||
|
||||
; ( a1 a2 -- b )
|
||||
.db "SCMP"
|
||||
.fill 3
|
||||
.dw DIVMOD
|
||||
.dw XOR
|
||||
.db 0
|
||||
SCMP:
|
||||
.dw nativeWord
|
||||
|
Loading…
Reference in New Issue
Block a user