Код:
; TINY BASIC (Привет Биллу Гейтсу!)
JP START
ERROR1: RST 18H
defb 13,10,'WHAT?',0
JR CCP
@EOL EQU 0 ; ТИПЫ ТОКЕНОВ
@DELIMIT EQU 1
@VARIABL EQU 2
@NUMBER EQU 3
@COMMAND EQU 4
@STRING EQU 5
@QUOTE EQU 6
TOKNLST:defb 80H,'STOP'
defb 81H,'PRINT TAB('
defb 82H,'INPUT'
defb 83H,'IF'
defb 84H,'THEN'
defb 85H,'ELSE'
defb 86H,'NEXT'
defb 87H,'GOTO'
defb 88H,'GOSUB'
defb 89H,'RETURN'
defb 8AH,'REM'
defb 8BH,'CALL'
defb 8CH,'POKE'
defb 8DH,'LET'
defb 8EH,'CURSOR'
defb 8FH,'PRINT'
defb 90H,'DATA'
defb 91H,'READ'
defb 92H,'CLS'
defb 93H,'ASK('
defb 94H,'COUT'
defb 95H,'SHOW'
defb 96H,'LIST'
defb 97H,'RUN'
defb 98H,'BYE'
defb 99H,'NEW'
defb 9AH,'END'
defb 9BH,'ARRAY'
defb 9CH,'PEEK('
defb 9DH,'BYTE'
defb 9EH,'WORD'
defb 9FH,'RESTORE'
defb 0A0H,'LOAD'
defb 0A1H,'SAVE'
defb 0A2H,'BLOAD'
defb 0A3H,'BSAVE'
defb 0A4H,'BEEP'
defb 0A5H,'DUMP'
defb 0A6H,'VARPTR('
defb 0FFH
; *****************************************
; * *
; * ПРЕОБРАЗУЕТ В СТРОКЕ КОМАНДЫ *
; * В ASCII-СИМВОЛАХ В ТОКЕНЫ *
; * *
; *****************************************
CNVTOKEN:
LD HL,STRBUF
LD DE,TMPBUF
PUSH DE
CNVTK0: LD (UKAZAT),HL
CNVVVV: CALL POISK
JR C,CNVTK0
PUSH DE
CALL GTTOKEN
POP DE
CP @NUMBER
JR Z,CNVTK2 ; ЧИСЛО
CP @QUOTE
JR Z,CNVTK3 ; КАВЫЧКА
CP @EOL
JR Z,CNVTK5 ; NULL
CP @VARIABLE
JR Z,CNVTK6 ; БУКВА
CP @DELIMIT
JR Z,CNVTK6 ; РАЗДЕЛИТЕЛЬ
JP ERROR
. . . . . . . . . .
весь исходник 45 Кб сюда не влезает
.