From 8f990ff954613d3685451a8f2ce04db2f3f74377 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Fri, 27 Mar 2020 21:36:05 -0400 Subject: [PATCH] forth: Forth-ify "IMMEDIATE" --- emul/forth/z80c.bin | Bin 754 -> 777 bytes forth/forth.asm | 13 ++----------- forth/z80a.fs | 1 + forth/z80c.fs | 6 ++++++ 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/emul/forth/z80c.bin b/emul/forth/z80c.bin index 231bbb56776691c0afe39ef69e6594345f727034..e7cf673c540e8d6621c1706ff2c790177842d47d 100644 GIT binary patch delta 73 zcmV-P0Ji_~1&Ic*m;oM1O-)5aNkLRa5&#Jo04f6LE6e`F8UQF|ZE18V5tE+*C;|Zz flgR70y;MUferxnldJ+pI5!pT delta 50 zcmV-20L}l22J!{4m;nbUWo>D6DG!sj0Vo3U5tHBn&=b80(FG+2-vtl`K>|8A0D%qw I-;=`vMzMkrH2?qr diff --git a/forth/forth.asm b/forth/forth.asm index 8f19996..94dcadc 100644 --- a/forth/forth.asm +++ b/forth/forth.asm @@ -781,19 +781,10 @@ DOES: jp EXIT+2 - .db "IMMEDIATE" - .dw $-DOES - .db 9 -IMMEDIATE: - .dw nativeWord - ld hl, (CURRENT) - dec hl - set FLAG_IMMED, (hl) - jp next - +.fill 23 .db "IMMED?" - .dw $-IMMEDIATE + .dw $-DOES .db 6 ISIMMED: .dw nativeWord diff --git a/forth/z80a.fs b/forth/z80a.fs index 6b47b26..17ebc29 100644 --- a/forth/z80a.fs +++ b/forth/z80a.fs @@ -79,6 +79,7 @@ 0xc5 OP1qq PUSHqq, 0xc1 OP1qq POPqq, 0x03 OP1qq INCss, +0x0b OP1qq DECss, 0x09 OP1qq ADDHLss, : _1rr diff --git a/forth/z80c.fs b/forth/z80c.fs index 860c40c..4af00e3 100644 --- a/forth/z80c.fs +++ b/forth/z80c.fs @@ -227,3 +227,9 @@ CODE R> JTBL 12 + CALLnn, HL PUSHqq, ;CODE + +CODE IMMEDIATE + CURRENT LDHL(nn), + HL DECss, + 7 (HL) SETbr, +;CODE