From 1871f7cdb4503b9674663ca82d0c24dbae78e7c4 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Wed, 25 Mar 2020 17:18:29 -0400 Subject: [PATCH] forth: Forth-ify "OR" --- emul/forth/z80c.bin | Bin 190 -> 217 bytes forth/forth.asm | 20 +------------------- forth/z80a.fs | 1 + forth/z80c.fs | 13 +++++++++++++ 4 files changed, 15 insertions(+), 19 deletions(-) diff --git a/emul/forth/z80c.bin b/emul/forth/z80c.bin index 0884ccd9606dd339c720175e334076cb8098e59c..299316f1448536b601f961a1afff03881eaa6373 100644 GIT binary patch delta 32 lcmdnTc$0BLo0xwP0|-bkFl=Ldc=4<(L-p4Dsx1>6Z2_Pv3hn>^ delta 9 Qcmcb~xQ}r{+r)(y02KcO8UO$Q diff --git a/forth/forth.asm b/forth/forth.asm index a1756f2..d9e95e4 100644 --- a/forth/forth.asm +++ b/forth/forth.asm @@ -1505,27 +1505,9 @@ DIVMOD: jp next - .db "OR" - .fill 5 - .dw $-DIVMOD - .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 + .dw $-DIVMOD .db 0 XOR: .dw nativeWord diff --git a/forth/z80a.fs b/forth/z80a.fs index c98af54..6551fcb 100644 --- a/forth/z80a.fs +++ b/forth/z80a.fs @@ -53,6 +53,7 @@ OR A, ; 0xa0 OP1r0 ANDr, +0xb0 OP1r0 ORr, ( qq -- also works for ss ) : OP1qq diff --git a/forth/z80c.fs b/forth/z80c.fs index 1237216..0f359b4 100644 --- a/forth/z80c.fs +++ b/forth/z80c.fs @@ -84,6 +84,19 @@ CODE AND HL PUSHqq, ;CODE +CODE OR + HL POPqq, + DE POPqq, + chkPS, + A E LDrr, + L ORr, + L A LDrr, + A D LDrr, + H ORr, + H A LDrr, + HL PUSHqq, +;CODE + CODE PC! BC POPqq, HL POPqq,