|
|
@@ -2,14 +2,14 @@ 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-B285 ) |
|
|
|
( RS ) IX PUSH, HL POP, |
|
|
|
DE RS_ADDR LDdn, |
|
|
|
DE SUBHLd, |
|
|
|
JRC, lblofl BWR ( IX < RS_ADDR? abortUnderflow-B285 ) |
|
|
|
( Before we continue: are we overflowing? ) |
|
|
|
IX PUSH, EX(SP)HL, ( do EX to count the IX push in SP ) |
|
|
|
SP SUBHLd, HL POP, |
|
|
|
IFNC, ( SP <= IX? overflow ) |
|
|
|
SP PS_ADDR LDdn, IX RS_ADDR LDdn, |
|
|
|
DE BIN( @ 0x13 ( oflw ) + LDdd(n), |
|
|
|
JR, L3 FWR ( execute, B287 ) |
|
|
|
THEN, |
|
|
|
LDA(BC), E A LDrr, BC INCd, |
|
|
|
LDA(BC), D A LDrr, BC INCd, |
|
|
|
( continue to execute ) |