From 338769a0a8200f97e353c432a066054a92902853 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Wed, 22 Apr 2020 19:03:32 -0400 Subject: [PATCH] z80a: add PUSH0, PUSH1, PUSHZ, macros --- blk/200 | 2 +- blk/212 | 2 +- blk/244 | 3 --- blk/249 | 6 ++++++ emul/forth/z80c.bin | Bin 2187 -> 2187 bytes forth/boot.z80 | 32 ++++++-------------------------- 6 files changed, 14 insertions(+), 31 deletions(-) delete mode 100644 blk/244 create mode 100644 blk/249 diff --git a/blk/200 b/blk/200 index 4a603a0..9eda24a 100644 --- a/blk/200 +++ b/blk/200 @@ -10,4 +10,4 @@ Z80 Assembler 234 OP2r 236 OP2ss 238 OP3ddnn 240 OP3nn 242 Specials 246 Flow - +249 Macros diff --git a/blk/212 b/blk/212 index ed21bd3..d99e524 100644 --- a/blk/212 +++ b/blk/212 @@ -5,4 +5,4 @@ H@ 0x59 RAM+ ! 213 LOAD 215 LOAD 216 LOAD 217 LOAD 218 LOAD 219 LOAD 220 LOAD 222 LOAD 223 LOAD 224 LOAD 226 LOAD 228 LOAD 230 LOAD 232 LOAD 234 LOAD 236 LOAD 238 LOAD 240 LOAD -242 LOAD 243 LOAD 244 LOAD 246 LOAD 247 LOAD +242 LOAD 243 LOAD 246 LOAD 247 LOAD 249 LOAD diff --git a/blk/244 b/blk/244 deleted file mode 100644 index 8087ff2..0000000 --- a/blk/244 +++ /dev/null @@ -1,3 +0,0 @@ -( Macros ) -( clear carry + SBC ) -: SUBHLss, A ORr, SBCHLss, ; diff --git a/blk/249 b/blk/249 new file mode 100644 index 0000000..329b69d --- /dev/null +++ b/blk/249 @@ -0,0 +1,6 @@ +( Macros ) +( clear carry + SBC ) +: SUBHLss, A ORr, SBCHLss, ; +: PUSH0, BC 0 LDddnn, BC PUSHqq, ; +: PUSH1, BC 1 LDddnn, BC PUSHqq, ; +: PUSHZ, BC 0 LDddnn, IFZ, BC INCss, THEN, BC PUSHqq, ; diff --git a/emul/forth/z80c.bin b/emul/forth/z80c.bin index d1a5509e06e99bdd54af880abddbdc7f9f660e7c..b09fe80800b1f0904dba6abc97e02b80391ea659 100644 GIT binary patch delta 98 zcmeAc>=xY6$;8gcz@Wg$e01{!rVvH}seKBp+m(eCzC%SPe_=K;2C|PHmSVWd$Oxu2 jGII?z6&P5>--i7L3L9`RFp5K!7;=KxKxLbwSqxYJ-E|lU delta 98 zcmeAc>=xY6$;7V6z@WgW{B-jKrVvH}Mh1qXQu`D*wkr!Oe1E9?bn+Kw6JtRJhO39A u7_JI3f@zJ+TtiI-23GO6VZVXG1{@5G;y^>50@;R~AT}ez)6LN=1}p%6jT-O( diff --git a/forth/boot.z80 b/forth/boot.z80 index af0d617..b351080 100644 --- a/forth/boot.z80 +++ b/forth/boot.z80 @@ -489,12 +489,7 @@ CODE NOT chkPS, A L LDrr, H ORr, - HL 0 LDddnn, - IFZ, - ( false, make 1 ) - HL INCss, - THEN, - HL PUSHqq, + PUSHZ, ;CODE CODE + @@ -656,9 +651,6 @@ CODE S= DE POPqq, HL POPqq, chkPS, - ( pre-push false ) - BC 0 LDddnn, - BC PUSHqq, BEGIN, ( loop ) LDA(DE), (HL) CPr, @@ -668,11 +660,8 @@ CODE S= HL INCss, DE INCss, JRNZ, AGAIN, ( loop ) - ( success, change false to true ) - HL POPqq, - HL INCss, - HL PUSHqq, L1 FSET ( end ) + PUSHZ, ;CODE CODE CMP @@ -703,14 +692,12 @@ CODE _find IFNZ, ( not found ) HL PUSHqq, - DE 0 LDddnn, - DE PUSHqq, + PUSH0, JPNEXT, THEN, ( found ) DE PUSHqq, - DE 1 LDddnn, - DE PUSHqq, + PUSH1, ;CODE CODE (im1) @@ -718,15 +705,8 @@ CODE (im1) EI, ;CODE -CODE 0 - HL 0 LDddnn, - HL PUSHqq, -;CODE - -CODE 1 - HL 1 LDddnn, - HL PUSHqq, -;CODE +CODE 0 PUSH0, ;CODE +CODE 1 PUSH1, ;CODE CODE -1 HL -1 LDddnn,