From aca9bc9058d60539ba37bd4a7bfeabfbe045308c Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Thu, 18 Jun 2020 08:02:45 -0400 Subject: [PATCH] z80: small optimization in cell execution --- blk/301 | 2 +- emul/forth.bin | Bin 6186 -> 6183 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/blk/301 b/blk/301 index f942557..caafdb7 100644 --- a/blk/301 +++ b/blk/301 @@ -9,5 +9,5 @@ lblexec BSET L1 FSET ( B299 ) L2 FSET ( B298 ) A ORr, IFZ, EXDEHL, JP(HL), THEN, A DECr, JRZ, L1 FWR ( compiled B303 ) ( cell or does. push PFA ) DE PUSHqq, - A DECr, IFZ, JPNEXT, THEN, ( cell ) + A DECr, JRZ, lblnext BWR ( cell ) ( continue to does, B302 ) diff --git a/emul/forth.bin b/emul/forth.bin index 5d9e5e410aee64387b67c146d7b983973dea0212..0caba090f67e1031efd350952ab553e9542f9af8 100644 GIT binary patch literal 6183 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 X>`YazY8O`_KDTZLPJ;5tP0;*bR)7)p