Blame | Last modification | View Log | Download | RSS feed | ?url?
;**************************************************************
;
; This is the equate table for 8052 basic.
;
;**************************************************************
;
; The register to direct equates for CJNE instructions.
;
R0B0 EQU 0
R1B0 EQU 1
R2B0 EQU 2
R3B0 EQU 3
R4B0 EQU 4
R5B0 EQU 5
R6B0 EQU 6
R7B0 EQU 7
;
; Register bank 1 contains the text pointer
; and the arg stack pointer.
;
TXAL EQU 8 ;R0 BANK 1 = TEXT POINTER LOW
ASTKA EQU 9 ;R1 BANK 1 = ARG STACK
TXAH EQU 10 ;R2 BANK 1 = TEXT POINTER HIGH
;
; Now five temporary locations that are used by basic.
;
TEMP1 EQU 11
TEMP2 EQU 12
TEMP3 EQU 13
TEMP4 EQU 14
TEMP5 EQU 15
;
newpage
; Register bank 2 contains the read text pointer
; and the control stack pointer.
;
RTXAL EQU 16 ;R0 BANK 2 = READ TEXT POINTER LOW
CSTKA EQU 17 ;R1 BANK 2 = CONTROL STACK POINTER
RTXAH EQU 18 ;R2 BANK 2 = READ TEXT POINTER HIGH
;
; Now some internal system equates.
;
BOFAH EQU 19 ;START OF THE BASIC PROGRAM, HIGH BYTE
BOFAL EQU 20 ;START OF THE BASIC PROGRAM, LOW BYTE
NULLCT EQU 21 ;NULL COUNT
PHEAD EQU 22 ;PRINT HEAD POSITION
FORMAT EQU 23
;
; Register bank 3 is for the user and can be loaded
; by basic
;
;
;
; Now everything else is used by basic.
; First the bit locations, these use bytes 34, 35, 36, 37 and 38
;
newpage
OTS BIT 16 ;34.0-ON TIME INSTRUCTION EXECUTED
INPROG BIT 17 ;34.1-INTERRUPT IN PROCESS
INTBIT BIT 18 ;34.2-INTERRUPT SET BIT
ON_ERR BIT 19 ;34.3-ON ERROR EXECUTED
OTI BIT 20 ;34.4-ON TIME INTERRUPT IN PROGRESS
LINEB BIT 21 ;34.5-LINE CHANGE OCCURED
INTPEN BIT 22 ;34.6-INTERRUPT PENDING BIT
CONB BIT 23 ;34.7-CAN CONTINUE IF SET
GTRD BIT 24 ;35.0-READ GET LOCATION
LPB BIT 25 ;35.1-PRINT TO LINE PRINTER PORT
CKS_B BIT 26 ;35.2-FOR PWM INTERRUPT
COB BIT 27 ;35.3-CONSOLE OUT BIT
; 0 = SERIAL PORT
; 1 = LINE PRINTER
COUB BIT 28 ;35.4-USER CONSOLE OUT BIT
; 0 = SERIAL PORT
; 1 = USER DRIVER
INBIT BIT 29 ;35.5-INITIALIZATION BIT
CIUB BIT 30 ;35.6-USER CONSOLE IN BIT
; 0 = SERIAL PORT
; 1 = USER ROUTINE
SPINT BIT 31 ;35.7-SERIAL PORT INTERRUPT
STOPBIT BIT 32 ;36.0-PROGRAM STOP ENCOUNTERED
U_IDL BIT 33 ;36.1-USER IDLE BREAK
INP_B BIT 34 ;36.2-SET DURING INPUT INSTRUCTION
;DCMPXZ BIT 35 ;36.3-DCMPX ZERO FLAG
ARGF BIT 36 ;36.4-ARG STACK HAS A VALUE
RETBIT BIT 37 ;36.5-RET FROM INTERRUPT EXECUTED
I_T0 BIT 38 ;36.6-TRAP INTERRUPT ZERO TO MON
UPB BIT 39 ;36.7-SET WHEN @ IS VALID
JKBIT BIT 40 ;37.0-WB TRIGGER
ENDBIT BIT 41 ;37.1-GET END OF PROGRAM
UBIT BIT 42 ;37.2-FOR DIM STATEMENT
ISAV BIT 43 ;37.3-SAVE INTERRUPT STATUS
BO BIT 44 ;37.4-BUBBLE OUTPUT
XBIT BIT 45 ;37.5-EXTERNAL PROGRAM PRESENT
C_BIT BIT 46 ;37.6-SET WHEN CLOCK RUNNING
DIRF BIT 47 ;37.7-DIRECT INPUT MODE
NO_C BIT 48 ;38.0-NO CONTROL C
DRQ BIT 49 ;38.1-DMA ENABLED
BI BIT 50 ;38.2-BUBBLE INPUT
INTELB BIT 51 ;38.3-INTELLIGENT PROM PROGRAMMING
C0ORX1 BIT 52 ;38.4-PRINT FROM ROM OR RAM
CNT_S BIT 53 ;38.5-CONTROL S ENCOUNTERED
ZSURP BIT 54 ;38.6-ZERO SUPRESS
HMODE BIT 55 ;38.7-HEX MODE PRINT
LP BIT P1.7 ;SOFTWARE LINE PRINTER
DACK BIT P1.6 ;DMA ACK
PROMV BIT P1.5 ;TURN ON PROM VOLTAGE
PROMP BIT P1.4 ;PROM PULSE
ALED BIT P1.3 ;ALE DISABLE
T_BIT BIT P1.2 ;I/O TOGGLE BIT
;
newpage
;
; The next location is a bit addressable byte counter
;
BABC EQU 39
;
; Now floating point and the other temps
;
; FP Uses to locations 03CH
;
; Now the stack designators.
;
SPSAV EQU 3EH
S_LEN EQU 3FH
T_HH EQU 40H
T_LL EQU 41H
INTXAH EQU 42H
INTXAL EQU 43H
MT1 EQU 45H
MT2 EQU 46H
MILLIV EQU 47H ;TIMER LOCATIONS
TVH EQU 48H
TVL EQU 49H
SAVE_T EQU 4AH
SP_H EQU 4BH ;SERIAL PORT TIME OUT
SP_L EQU 4CH
CMNDSP EQU 4DH ;SYSTEM STACK POINTER
IRAMTOP EQU 0FFH ;TOP OF RAM
STACKTP EQU 0FEH ;ARG AND CONTROL STACK TOPS
;
; The character equates
;
CR EQU 0DH ;CARRIAGE RETURN
LF EQU 0AH ;LINE FEED
BELL EQU 07H ;BELL CHARACTER
BS EQU 08H ;BACK SPACE
CNTRLC EQU 03H ;CONTROL C
CNTRLD EQU 04H ;CONTROL D
NULL EQU 00H ;NULL
;
newpage
;
; The internal system equates
;
LINLEN EQU 73 ;THE LENGTH OF AN INPUT LINE
EOF EQU 01 ;END OF FILE CHARACTER
ASTKAH EQU 01 ;ASTKA IS IN PAGE 1 OF RAM
CSTKAH EQU 00 ;CSTKA IS IN PAGE 0 OF RAM
FTYPE EQU 01 ;CONTROL STACK "FOR"
GTYPE EQU 02 ;CONTROL STACK "GOSUB"
DTYPE EQU 03 ;DO-WHILE/UNTIL TYPE
ROMADR EQU 8000H ;LOCATION OF ROM
;
; The floating point equates
;
FPSIZ EQU 6 ;NO. OF BYTES IN A FLOATING NUM
DIGIT EQU FPSIZ-2 ;THE MANTISSA OF A FLOATING NUM
STESIZ EQU FPSIZ+3 ;SIZE OF SYMBOL ADJUSTED TABLE ELEMENT
FP_BASE EQU 1993H ;BASE OF FLOATING POINT ROUTINES
PSTART EQU 512 ;START OF A PROGRAM IN RAM
FSIZE EQU FPSIZ+FPSIZ+2+2+1
;
newpage
;**************************************************************
;
USENT: ; User entry jump table
;
;**************************************************************
;
DW CMND1 ;(00, 00H)COMMAND MODE JUMP
DW IFIX ;(01, 01H)CONVERT FP TO INT
DW PUSHAS ;(02, 02H)PUSH VALUE ONTO ARG STACK
DW POPAS ;(03, 03H)POP VALUE OFF ARG STACK
DW PG1 ;(04, 04H)PROGRAM A PROM
DW INLINE ;(05, 05H)INPUT A LINE
DW UPRNT ;(06, 06H)PRINT A LINR
DW CRLF ;(07, 07H)OUTPUT A CRLF
;
;**************************************************************
;
; This is the operation jump table for arithmetics
;
;**************************************************************
;
OPTAB: DW ALPAR ;(08, 08H)LEFT PAREN
DW AEXP ;(09, 09H)EXPONENTAION
DW AMUL ;(10, 0AH)FP MUL
DW AADD ;(11, 0BH)FLOATING POINT ADD
DW ADIV ;(12, 0CH)FLOATING POINT DIVIDE
DW ASUB ;(13, 0DH)FLOATING POINT SUBTRACTION
DW AXRL ;(14, 0EH)XOR
DW AANL ;(15, 0FH)AND
DW AORL ;(16, 10H)OR
DW ANEG ;(17, 11H)NEGATE
DW AEQ ;(18, 12H)EQUAL
DW AGE ;(19, 13H)GREATER THAN OR EQUAL
DW ALE ;(20, 14H)LESS THAN OR EQUAL
DW ANE ;(21, 15H)NOT EQUAL
DW ALT ;(22, 16H)LESS THAN
DW AGT ;(23, 17H)GREATER THAN
;
newpage
;***************************************************************
;
; This is the jump table for unary operators
;
;***************************************************************
;
DW AABS ;(24, 18H)ABSOLUTE VALUE
DW AINT ;(25, 19H)INTEGER OPERATOR
DW ASGN ;(26, 1AH)SIGN OPERATOR
DW ANOT ;(27, 1BH)ONE'S COMPLEMENT
DW ACOS ;(28, 1CH)COSINE
DW ATAN ;(29, 1DH)TANGENT
DW ASIN ;(30, 1EH)SINE
DW ASQR ;(31, 1FH)SQUARE ROOT
DW ACBYTE ;(32, 20H)READ CODE
DW AETOX ;(33, 21H)E TO THE X
DW AATAN ;(34, 22H)ARC TANGENT
DW ALN ;(35, 23H)NATURAL LOG
DW ADBYTE ;(36, 24H)READ DATA MEMORY
DW AXBYTE ;(37, 25H)READ EXTERNAL MEMORY
DW PIPI ;(38, 26H)PI
DW ARND ;(39, 27H)RANDOM NUMBER
DW AGET ;(40, 28H)GET INPUT CHARACTER
DW AFREE ;(41, 29H)COMPUTE #BYTES FREE
DW ALEN ;(42, 2AH) COMPUTE LEN OF PORGRAM
DW AXTAL ;(43, 2BH) CRYSTAL
DW PMTOP ;(44, 2CH)TOP OF MEMORY
DW ATIME ;(45, 2DH) TIME
DW A_IE ;(46, 2EH) IE
DW A_IP ;(47, 2FH) IP
DW ATIM0 ;(48, 30H) TIMER 0
DW ATIM1 ;(49, 31H) TIMER 1
DW ATIM2 ;(50, 32H) TIMER 2
DW AT2CON ;(51, 33H) T2CON
DW ATCON ;(52, 34H) TCON
DW ATMOD ;(53, 35H) ATMOD
DW ARCAP2 ;(54, 36H) RCAP2
DW AP1 ;(55, 37H) P1
DW APCON ;(56, 38H) PCON
DW EXPRB ;(57, 39H) EVALUATE AN EXPRESSION
DW AXTAL1 ;(58, 3AH) CALCULATE CRYSTAL
DW LINE ;(59, 3BH) EDIT A LINE
DW PP ;(60, 3CH) PROCESS A LINE
DW UPPL-3 ;(61, 3DH) UNPROCESS A LINE
DW VAR ;(62, 3EH) FIND A VARIABLE
DW GC ;(63, 3FH) GET A CHARACTER
DW GCI ;(64, 40H) GET CHARACTER AND INCREMENT
DW INCHAR ;(65, 41H) INPUT A CHARACTER
DW CRUN ;(66, 42H) RUN A PROGRAM
newpage
OPBOL: DB 1 ;
;
DB 15 ;LEFT PAREN
DB 14 ;EXPONENTIAN **
DB 10 ;MUL
DB 8 ;ADD
DB 10 ;DIVIDE
DB 8 ;SUB
DB 3 ;XOR
DB 5 ;AND
DB 4 ;OR
DB 12 ;NEGATE
DB 6 ;EQ
DB 6 ;GT
DB 6 ;LT
DB 6 ;NE
DB 6 ;LE
DB 6 ;GE
;
UOPBOL: DB 15 ;AABS
DB 15 ;AAINT
DB 15 ;ASGN
DB 15 ;ANOT
DB 15 ;ACOS
DB 15 ;ATAN
DB 15 ;ASIN
DB 15 ;ASQR
DB 15 ;ACBYTE
DB 15 ;E TO THE X
DB 15 ;AATAN
DB 15 ;NATURAL LOG
DB 15 ;DBYTE
DB 15 ;XBYTE
;
newpage
;***************************************************************
;
; The ASCII printed messages.
;
;***************************************************************
;
STP: DB "STOP",'"'
;
IAN: DB "TRY AGAIN",'"'
;
RDYS: DB "READY",'"'
;
INS: DB " - IN LINE ",'"'
;
;**************************************************************
;
; This is the command jump table
;
;**************************************************************
;
CMNDD: DW CRUN ;RUN
DW CLIST ;LIST
DW CNULL ;NULL
DW CNEW ;NEW
DW CCONT ;CONTINUE
DW CPROG ;PROGRAM A PROM
DW CXFER ;TRANSFER FROM ROM TO RAM
DW CRAM ;RAM MODE
DW CROM ;ROM MODE
DW CIPROG ;INTELLIGENT PROM PROGRAMMING
;
newpage
;***************************************************************
;
; This is the statement jump table.
;
;**************************************************************
;
STATD: ;
DW SLET ;LET 80H
DW SCLR ;CLEAR 81H
DW SPUSH ;PUSH VAR 82H
DW SGOTO ;GO TO 83H
DW STONE ;TONE 84H
DW SPH0 ;PRINT MODE 0 85H
DW SUI ;USER INPUT 86H
DW SUO ;USER OUTPUT 87H
DW SPOP ;POP VAR 88H
DW SPRINT ;PRINT 89H
DW SCALL ;CALL 8AH
DW SDIMX ;DIMENSION 8BH
DW STRING ;STRING ALLO 8CH
DW SBAUD ;SET BAUD 8DH
DW SCLOCK ;CLOCK 8EH
DW SPH1 ;PRINT MODE 1 8FH
;
; No direct mode from here on
;
DW SSTOP ;STOP 90H
DW SOT ;ON TIME 91H
DW SONEXT ;ON EXT INT 92H
DW SRETI ;RET FROM INT 93H
DW S_DO ;DO 94H
DW SRESTR ;RESTOR 95H
DW WCR ;REM 96H
DW SNEXT ;NEXT 97H
DW SONERR ;ON ERROR 98H
DW S_ON ;ON 99H
DW SINPUT ;INPUT 9AH
DW SREAD ;READ 9BH
DW FINDCR ;DATA 9CH
DW SRETRN ;RETURN 9DH
DW SIF ;IF 9EH
DW SGOSUB ;GOSUB 9FH
DW SFOR ;FOR A0H
DW SWHILE ;WHILE A1H
DW SUNTIL ;UNTIL A2H
DW CMND1 ;END A3H
DW I_DL ;IDLE A4H
DW ST_A ;STORE AT A5H
DW LD_A ;LOAD AT A6H
DW PGU ;PGM A7H
DW RROM ;RUN A ROM A9H
;
newpage
;**************************************************************
;
TOKTAB: ; This is the basic token table
;
;**************************************************************
;
; First the tokens for statements
;
DB 80H ;LET TOKEN
DB "LET"
;
DB 81H ;CLEAR TOKEN
DB "CLEAR"
;
DB 82H ;PUSH TOKEN
DB "PUSH"
;
T_GOTO EQU 83H
;
DB 83H ;GO TO TOKEN
DB "GOTO"
;
DB 84H ;TOGGLE TOKEN
DB "PWM"
;
DB 85H ;PRINT HEX MODE 0
DB "PH0."
;
DB 86H ;USER IN TOKEN
DB "UI"
;
DB 87H ;USER OUT TOKEN
DB "UO"
;
DB 88H ;POP TOKEN
DB "POP"
;
newpage
DB 89H ;PRINT TOKEN
DB "PRINT"
DB 89H
DB "P." ;P. ALSO MEANS PRINT
DB 89H ;? ALSO
DB '?'
;
DB 8AH ;CALL TOKEN
DB "CALL"
;
DB 8BH ;DIMENSION TOKEN
DB "DIM"
;
DB 8CH ;STRING TOKEN
DB "STRING"
;
DB 8DH ;SET BAUD RATE
DB "BAUD"
;
DB 8EH ;CLOCK
DB "CLOCK"
;
DB 8FH ;PRINT HEX MODE 1
DB "PH1."
;
T_STOP EQU 90H ;STOP TOKEN
DB T_STOP
DB "STOP"
;
T_DIR EQU T_STOP ;NO DIRECT FROM HERE ON
;
DB T_STOP+1 ;ON TIMER INTERRUPT
DB "ONTIME"
;
DB T_STOP+2 ;ON EXTERNAL INTERRUPT
DB "ONEX1"
;
DB T_STOP+3 ;RETURN FROM INTERRUPT
DB "RETI"
;
DB T_STOP+4 ;DO TOKEN
DB "DO"
;
DB T_STOP+5 ;RESTORE TOKEN
DB "RESTORE"
;
newpage
T_REM EQU T_STOP+6 ;REMARK TOKEN
DB T_REM
DB "REM"
;
DB T_REM+1 ;NEXT TOKEN
DB "NEXT"
;
DB T_REM+2 ;ON ERROR TOKEN
DB "ONERR"
;
DB T_REM+3 ;ON TOKEN
DB "ON"
;
DB T_REM+4 ;INPUT
DB "INPUT"
;
DB T_REM+5 ;READ
DB "READ"
;
T_DATA EQU T_REM+6 ;DATA
DB T_DATA
DB "DATA"
;
DB T_DATA+1 ;RETURN
DB "RETURN"
;
DB T_DATA+2 ;IF
DB "IF"
;
T_GOSB EQU T_DATA+3 ;GOSUB
DB T_GOSB
DB "GOSUB"
;
DB T_GOSB+1 ;FOR
DB "FOR"
;
DB T_GOSB+2 ;WHILE
DB "WHILE"
;
DB T_GOSB+3 ;UNTIL
DB "UNTIL"
;
DB T_GOSB+4 ;END
DB "END"
;
newpage
T_LAST EQU T_GOSB+5 ;LAST INITIAL TOKEN
;
T_TAB EQU T_LAST ;TAB TOKEN
DB T_TAB
DB "TAB"
;
T_THEN EQU T_LAST+1 ;THEN TOKEN
DB T_THEN
DB "THEN"
;
T_TO EQU T_LAST+2 ;TO TOKEN
DB T_TO
DB "TO"
;
T_STEP EQU T_LAST+3 ;STEP TOKEN
DB T_STEP
DB "STEP"
;
T_ELSE EQU T_LAST+4 ;ELSE TOKEN
DB T_ELSE
DB "ELSE"
;
T_SPC EQU T_LAST+5 ;SPACE TOKEN
DB T_SPC
DB "SPC"
;
T_CR EQU T_LAST+6
DB T_CR
DB "CR"
;
DB T_CR+1
DB "IDLE"
;
DB T_CR+2
DB "ST@"
;
DB T_CR+3
DB "LD@"
;
DB T_CR+4
DB "PGM"
;
DB T_CR+5
DB "RROM"
;
newpage
; Operator tokens
;
T_LPAR EQU 0E0H ;LEFT PAREN
DB T_LPAR
DB '('
;
DB T_LPAR+1 ;EXPONENTIAN
DB "**"
;
DB T_LPAR+2 ;FP MULTIPLY
DB '*'
;
T_ADD EQU T_LPAR+3
DB T_LPAR+3 ;ADD TOKEN
DB '+'
;
DB T_LPAR+4 ;DIVIDE TOKEN
DB '/'
;
T_SUB EQU T_LPAR+5 ;SUBTRACT TOKEN
DB T_SUB
DB '-'
;
DB T_LPAR+6 ;LOGICAL EXCLUSIVE OR
DB ".XOR."
;
DB T_LPAR+7 ;LOGICAL AND
DB ".AND."
;
DB T_LPAR+8 ;LOGICAL OR
DB ".OR."
;
T_NEG EQU T_LPAR+9
;
T_EQU EQU T_LPAR+10 ;EQUAL
DB T_EQU
DB '='
;
DB T_LPAR+11 ;GREATER THAN OR EQUAL
DB ">="
;
DB T_LPAR+12 ;LESS THAN OR EQUAL
DB "<="
;
DB T_LPAR+13 ;NOT EQUAL
DB "<>"
;
DB T_LPAR+14 ;LESS THAN
DB '<'
;
DB T_LPAR+15 ;GREATER THAN
DB '>'
;
;
T_UOP EQU 0B0H ;UNARY OP BASE TOKEN
;
DB T_UOP ;ABS TOKEN
DB "ABS"
;
DB T_UOP+1 ;INTEGER TOKEN
DB "INT"
;
DB T_UOP+2 ;SIGN TOKEN
DB "SGN"
;
DB T_UOP+3 ;GET TOKEN
DB "NOT"
;
DB T_UOP+4 ;COSINE TOKEN
DB "COS"
;
DB T_UOP+5 ;TANGENT TOKEN
DB "TAN"
;
DB T_UOP+6 ;SINE TOKEN
DB "SIN"
;
DB T_UOP+7 ;SQUARE ROOT TOKEN
DB "SQR"
;
DB T_UOP+8 ;CBYTE TOKEN
DB "CBY"
;
DB T_UOP+9 ;EXP (E TO THE X) TOKEN
DB "EXP"
;
DB T_UOP+10
DB "ATN"
;
DB T_UOP+11
DB "LOG"
;
DB T_UOP+12 ;DBYTE TOKEN
DB "DBY"
;
DB T_UOP+13 ;XBYTE TOKEN
DB "XBY"
;
T_ULAST EQU T_UOP+14 ;LAST OPERATOR NEEDING PARENS
;
DB T_ULAST
DB "PI"
;
DB T_ULAST+1 ;RND TOKEN
DB "RND"
;
DB T_ULAST+2 ;GET TOKEN
DB "GET"
;
DB T_ULAST+3 ;FREE TOKEN
DB "FREE"
;
DB T_ULAST+4 ;LEN TOKEN
DB "LEN"
;
T_XTAL EQU T_ULAST+5 ;CRYSTAL TOKEN
DB T_XTAL
DB "XTAL"
;
T_MTOP EQU T_ULAST+6 ;MTOP
DB T_MTOP
DB "MTOP"
;
T_IE EQU T_ULAST+8 ;IE REGISTER
DB T_IE
DB "IE"
;
T_IP EQU T_ULAST+9 ;IP REGISTER
DB T_IP
DB "IP"
;
TMR0 EQU T_ULAST+10 ;TIMER 0
DB TMR0
DB "TIMER0"
;
TMR1 EQU T_ULAST+11 ;TIMER 1
DB TMR1
DB "TIMER1"
;
TMR2 EQU T_ULAST+12 ;TIMER 2
DB TMR2
DB "TIMER2"
;
T_TIME EQU T_ULAST+7 ;TIME
DB T_TIME
DB "TIME"
;
TT2C EQU T_ULAST+13 ;T2CON
DB TT2C
DB "T2CON"
;
TTC EQU T_ULAST+14 ;TCON
DB TTC
DB "TCON"
;
TTM EQU T_ULAST+15 ;TMOD
DB TTM
DB "TMOD"
;
TRC2 EQU T_ULAST+16 ;RCAP2
DB TRC2
DB "RCAP2"
;
T_P1 EQU T_ULAST+17 ;P1
DB T_P1
DB "PORT1"
;
T_PC EQU T_ULAST+18 ;PCON
DB T_PC
DB "PCON"
;
T_ASC EQU T_ULAST+19 ;ASC TOKEN
DB T_ASC
DB "ASC("
;
T_USE EQU T_ULAST+20 ;USING TOKEN
DB T_USE
DB "USING("
DB T_USE
DB "U.("
;
T_CHR EQU T_ULAST+21 ;CHR TOKEN
DB T_CHR
DB "CHR("
;
newpage
T_CMND EQU 0F0H ;COMMAND BASE
;
DB 0F0H ;RUN TOKEN
DB "RUN"
;
DB 0F1H ;LIST TOKEN
DB "LIST"
;
DB 0F2H ;NULL TOKEN
DB "NULL"
;
DB 0F3H ;NEW TOKEN
DB "NEW"
;
DB 0F4H ;CONTINUE TOKEN
DB "CONT"
;
DB 0F5H ;PROGRAM TOKEN
DB "PROG"
;
DB 0F6H ;TRANSFER TOKEN
DB "XFER"
;
DB 0F7H ;RAM MODE
DB "RAM"
;
DB 0F8H ;ROM MODE
DB "ROM"
;
DB 0F9H ;INTELLIGENT PROM PROGRAMMING
DB "FPROG"
;
DB 0FFH ;END OF TABLE
;