The commands of class-00 must not have any operands. e.g. COPY & CONTINUE. 1C10 CLASS-00 CP A Set the zero flag for later. The commands of class-05 may be followed by a set of items. e.g. PRINT & PRINT "222". 1C11 CLASS-05 POP BC In all cases drop the address - SCAN-LOOP. CALL Z,1BEE,CHECK-END If handling commands of classes 00 & 03 AND syntax is being checked move on now to consider the next statement. EX DE,HL Save the line pointer in the DE register pair. THE 'JUMP-C-R' ROUTINE After the command class entries and the separator entries in the parameter table have been considered the jump to the appropriate command routine is made. 1C16 JUMP-C-R LD HL,(T-ADDR) Fetch the pointer to the LD C,(HL) entries in the parameter table INC HL and fetch the address of the LD B,(HL) required command routine. EX DE,HL Exchange the pointers back PUSH BC and make an indirect jump RET to the command routine. THE 'COMMAND CLASSES - 01, 02 & 04' These three command classes are used by the variable handling commands - LET, FOR & NEXT and indirectly by READ & INPUT. Command class 01 is concerned with the identification of the variable in a LET, READ or INPUT statement. 1C1F CLASS-01 CALL 28B2,LOOK-VARS Look in the variables area to determine whether or not the variable has been used already. THE 'VARIABLE IN ASSIGNMENT' SUBROUTINE This subroutine develops the appropriate values for the system variables DEST & STRLEN. 1C22 VAR-A-1 LD (FLAGX),+00 Initialise FLAGX to +00. JR NC,1C30,VAR-A-2 Jump forward if the variable has been used before. SET 1,(FLAGX) Signal 'a new variable'. JR NZ,1C46,VAR-A-3 Give an error if trying to use an 'undimensioned array'. Report 2 - Variable not found 1C2E REPORT-2 RST 0008,ERROR-1 Call the error handling DEFB +01 routine. Continue with the handling of existing variables. 1C30 VAR-A-2 CALL Z,2996,STK-VARS The parameters of simple string variables and all array variables are passed to the calculator stack. (STK-VARS will 'slice' a string if required.) BIT 6,(FLAGS) Jump forward if handling a JR NZ,1C46,VAR-A-3 numeric variable. XOR A Clear the A register. CALL 2530,SYNTAX-Z The parameters of the string of CALL NZ,2BF1,STK-FETCH string array variable are fetched unless syntax is being checked. LD HL,+5C71 This is FLAGX.