Prev: 1B8A Up: Map Next: 1BB2
1B9E: THE 'LINE-NEW' SUBROUTINE
Used by the routine at STMT_RET.
There has been a jump in the program and the starting address of the new line has to be found.
Input
HL Number of the new line
Output
LINE_NEW 1B9E CALL LINE_ADDR The starting address of the line, or the 'first line after' is found.
1BA1 LD A,($5C44) Collect the statement number (NSPPC).
1BA4 JR Z,LINE_USE Jump forward if the required line was found; otherwise check the validity of the statement number - must be zero.
1BA6 AND A
1BA7 JR NZ,REPORT_N
1BA9 LD B,A Also check that the 'first line after' is not after the actual 'end of program'.
1BAA LD A,(HL)
1BAB AND $C0
1BAD LD A,B
1BAE JR Z,LINE_USE Jump forward with valid addresses; otherwise signal the error 'OK'.
Report 0 - OK.
1BB0 RST $08 Use the error handling routine.
1BB1 DEFB $FF
Note: obviously not an error in the normal sense - but rather a jump past the program.
Prev: 1B8A Up: Map Next: 1BB2