Some of the values below are used as token values, while some are used to compute a range of token values.
Some are NOT used at all!
; RESERVED WORD TOKEN VALUES
ZEND .EQU 080H ; END
ZFOR .EQU 081H ; FOR
ZDATA .EQU 083H ; DATA
ZGOTO .EQU 088H ; GOTO
ZGOSUB .EQU 08CH ; GOSUB
ZREM .EQU 08EH ; REM
ZPRINT .EQU 09EH ; PRINT
ZNEW .EQU 0A4H ; NEW
ZTAB .EQU 0A5H ; TAB
ZTO .EQU 0A6H ; TO
ZFN .EQU 0A7H ; FN
ZSPC .EQU 0A8H ; SPC
ZTHEN .EQU 0A9H ; THEN
ZNOT .EQU 0AAH ; NOT
ZSTEP .EQU 0ABH ; STEP
ZPLUS .EQU 0ACH ; +
ZMINUS .EQU 0ADH ; -
ZTIMES .EQU 0AEH ; *
ZDIV .EQU 0AFH ; /
ZOR .EQU 0B2H ; OR
ZGTR .EQU 0B3H ; >
ZEQUAL .EQU 0B4H ; M
ZLTH .EQU 0B5H ; <
ZSGN .EQU 0B6H ; SGN
ZPOINT .EQU 0C7H ; POINT
ZLEFT .EQU 0CDH +2 ; LEFT$
Suggest you comment out all the above lines and let the assembler generate some errors if one is needed.
When you get an error for lines like the following
CALL CHKSYN ; Make sure "=" follows
.BYTE ZEQUAL ; "=" token
change to
CALL CHKSYN ; Make sure "=" follows
.BYTE TEQUAL ; "=" token
add the following
.BYTE '='+80H
TEQUAL .EQU 0B4H ; Token value
.....
Do the same for ones like
CP ZFOR ; Is it a "FOR" token
Some are used to compute a range like this
ONJMP: SUB ZEND ; Is it a token?
JP C,LET ; No - try to assign it
CP ZNEW+1-ZEND ; END to NEW ?
For these I would uncomment the Z____ EQU
Here I would move the ZEND EQU to before
WORDS: .BYTE 'E'+80H,"ND"
and ZNEW after the proper line
Note that ZEND = First token value
ZNEW is Last statement token value with the following tokens being part of a statement.
Between ZSTEP & ZPLUS is a shift to reserved words as operators
ZSGN marks start of functions as reserved words.
[
ZSGN .EQU 0B6H ; SGN FIRST FUNCTION TOKEN
The result of these changes lets you easily tell what is just a token value that can be changed and what is a range of tokens.
Something like this
.BYTE 'N'+80H,"EW"
; Add new statements here
ZNEW .EQU 0A4H ; NEW
: ZNEW should be last statement token value above
.BYTE 'T'+80H,"AB("
TTAB .EQU ZNEW+1 ;0A5H ; TAB TOKEN
.BYTE 'T'+80H,"O"
TTO .EQU TTAB+1 :0A6H ; TO TOKEN
.BYTE 'F'+80H,"N"
TFN .EQU TTO+1 ;0A7H ; FN TOKEN
.BYTE 'S'+80H,"PC("
TSPC .EQU TFN+1 ;0A8H ; SPC TOKEN
.BYTE 'T'+80H,"HEN"
TTHEN .EQU TSPC+1 ;0A9H ; THEN TOKEN
.BYTE 'N'+80H,"OT"
TNOT .EQU TTHEN+1 ;0AAH ; NOT TOKEN
.BYTE 'S'+80H,"TEP"
TSTEP .EQU TNOT+1 ;0ABH ; STEP TOKEN
; Operators below