440ea43a88
Initially, I used the same letters as those used in the z80 ref docs, but it makes the different assemblers harder to use than they should. Having consistent "argtype" rules across assemblers should help.
17 lines
540 B
Plaintext
17 lines
540 B
Plaintext
lblnext BSET PC ORG @ 0x1b + ! ( next )
|
|
( This routine is jumped to at the end of every word. In it,
|
|
we jump to current IP, but we also take care of increasing
|
|
it by 2 before jumping. )
|
|
( Before we continue: are stacks within bounds? )
|
|
( PS ) HL PS_ADDR LDdn,
|
|
SP SUBHLd,
|
|
JRC, lblofl BWR ( abortUnderflow-B298 )
|
|
( RS ) IX PUSH, HL POP,
|
|
DE RS_ADDR LDdn,
|
|
DE SUBHLd,
|
|
JRC, lblofl BWR ( IX < RS_ADDR? abortUnderflow-B298 )
|
|
E 0 IY+ LDrIXY,
|
|
D 1 IY+ LDrIXY,
|
|
IY INCd, IY INCd,
|
|
( continue to execute )
|