| Routines

07917: THE 'GO SUB' COMMAND ROUTINE

The address of this routine is found in the parameter table. The present value of PPC and the incremented value of SUBPPC are stored on the GO SUB stack.
GO_SUB | 07917 | POP DE | Save the address - STMT_RET.
| 07918 | LD H,(IY+13) | Fetch the statement number (SUBPPC) and increment it.
| 07921 | INC H
| 07922 | EX (SP),HL | Exchange the 'error address' with the statement number.
| 07923 | INC SP | Reclaim the use of a location.
| 07924 | LD BC,(23621) | Next save the present line number (PPC).
| 07928 | PUSH BC
| 07929 | PUSH HL | Return the 'error address' to the machine stack and reset ERR-SP to point to it.
| 07930 | LD (23613),SP
| 07934 | PUSH DE | Return the address STMT_RET.
| 07935 | CALL GO_TO | Now set NEWPPC and NSPPC to the required values.
| 07938 | LD BC,20 | But before making the jump make a test for room.
This routine continues into TEST_ROOM.