From a56ace4d3e086f60c67d839fa760e17d50b2d39b Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Wed, 15 Apr 2020 20:03:56 -0400 Subject: [PATCH] boot: optimize (br) --- emul/forth/z80c.bin | Bin 2148 -> 2148 bytes forth/boot.fs | 12 ++++-------- forth/z80a.fs | 5 +++++ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/emul/forth/z80c.bin b/emul/forth/z80c.bin index 892e604023bf05d948318089fd32c9530afaa4f4..8cb032fbff545236a1eb9a44027e8da59888455e 100644 GIT binary patch delta 23 fcmaDN@I+uj6i*z(-!R6%l82=j7#KFD{bL6JZBz)L delta 23 fcmaDN@I+uj6wlL#amr!Zl289WJS?>_?H@Y;h9wJp diff --git a/forth/boot.fs b/forth/boot.fs index c08fb12..7abfa0e 100644 --- a/forth/boot.fs +++ b/forth/boot.fs @@ -65,16 +65,12 @@ PC L1 @ - A,, ( prev ) L1 BSET ( BR ) 0x17 A, ( nativeWord ) L2 BSET ( used in CBR ) - IY PUSHqq, HL POPqq, ( <-- IP ) - E (HL) LDrr, - HL INCss, - D (HL) LDrr, - HL DECss, - DE ADDHLss, - HL PUSHqq, IY POPqq, ( --> IP ) + E 0 IY+ LDrIXY, + D 1 IY+ LDrIXY, + DE ADDIYss, JPNEXT, -NOP, ( unused ) +NOP, NOP, NOP, NOP, ( unused ) '(' A, '?' A, 'b' A, 'r' A, ')' A, PC L1 @ - A,, ( prev ) diff --git a/forth/z80a.fs b/forth/z80a.fs index a9a4328..38a7fca 100644 --- a/forth/z80a.fs +++ b/forth/z80a.fs @@ -158,6 +158,11 @@ 0x0b OP1qq DECss, 0x09 OP1qq ADDHLss, +: ADDIXss, 0xdd A, ADDHLss, ; +: ADDIXIX, HL ADDIXss, ; +: ADDIYss, 0xfd A, ADDHLss, ; +: ADDIYIY, HL ADDIYss, ; + : _1rr C@ ( rd rr op ) ROT ( rr op rd )