| Routines

07070: 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
LINE_NEW | 07070 | CALL LINE_ADDR | The starting address of the line, or the 'first line after' is found.
| 07073 | LD A,(23620) | Collect the statement number (NSPPC).
| 07076 | JR Z,LINE_USE | Jump forward if the required line was found; otherwise check the validity of the statement number - must be zero.
| 07078 | AND A
| 07079 | JR NZ,REPORT_N
| 07081 | LD B,A | Also check that the 'first line after' is not after the actual 'end of program'.
| 07082 | LD A,(HL)
| 07083 | AND 192
| 07085 | LD A,B
| 07086 | JR Z,LINE_USE | Jump forward with valid addresses; otherwise signal the error 'OK'.
Report 0 - OK.
| 07088 | RST 8 | Use the error handling routine.
| 07089 | DEFB 255
Note: obviously not an error in the normal sense - but rather a jump past the program.