40f92b9bab
Inline it in next and make chkPS, call a newly reserved label for it directly, removing a layer of indirection. This frees a spot in the stable ABI.
17 lines
531 B
Plaintext
17 lines
531 B
Plaintext
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 LDddnn,
|
|
SP SUBHLss,
|
|
JRC, L2 BWR ( abortUnderflow-B298 )
|
|
( RS ) IX PUSHqq, HL POPqq,
|
|
DE RS_ADDR LDddnn,
|
|
DE SUBHLss,
|
|
JRC, L2 BWR ( IX < RS_ADDR? abortUnderflow-B298 )
|
|
E 0 IY+ LDrIXY,
|
|
D 1 IY+ LDrIXY,
|
|
IY INCss, IY INCss,
|
|
( continue to execute )
|