diff --git a/emul/forth/z80c.bin b/emul/forth/z80c.bin index 5e30fda..9de982f 100644 Binary files a/emul/forth/z80c.bin and b/emul/forth/z80c.bin differ diff --git a/forth/boot.fs b/forth/boot.fs index 6fd98f0..6ef4ffc 100644 --- a/forth/boot.fs +++ b/forth/boot.fs @@ -320,7 +320,7 @@ PC ORG @ 0x34 + ! ( execute ) PC ORG @ 0x0f + ! ( compiledWord ) ( Execute a list of atoms, which always end with EXIT. - IY points to that list. What do we do: + DE points to that list. What do we do: 1. Push current IP to RS 2. Set new IP to the second atom of the list 3. Execute the first atom of the list. ) diff --git a/forth/z80c.fs b/forth/z80c.fs index 4d5fb1c..e96ffe0 100644 --- a/forth/z80c.fs +++ b/forth/z80c.fs @@ -85,13 +85,13 @@ CODE 2OVER HL POPqq, ( D ) DE POPqq, ( C ) BC POPqq, ( B ) - IY POPqq, ( A ) + EXX, HL POPqq, EXX, ( A ) chkPS, - IY PUSHqq, ( A ) + EXX, HL PUSHqq, EXX, ( A ) BC PUSHqq, ( B ) DE PUSHqq, ( C ) HL PUSHqq, ( D ) - IY PUSHqq, ( A ) + EXX, HL PUSHqq, EXX, ( A ) BC PUSHqq, ( B ) ;CODE @@ -101,11 +101,11 @@ CODE 2SWAP HL POPqq, ( D ) DE POPqq, ( C ) BC POPqq, ( B ) - IY POPqq, ( A ) + EXX, HL POPqq, EXX, ( A ) chkPS, DE PUSHqq, ( C ) HL PUSHqq, ( D ) - IY PUSHqq, ( A ) + EXX, HL PUSHqq, EXX, ( A ) BC PUSHqq, ( B ) ;CODE