273 lines
8.0 KiB
PHP
273 lines
8.0 KiB
PHP
; =============================================================================
|
|
; Source codes for Microsoft Basic-80 v5.21 for CP/M
|
|
;
|
|
; Reserved words definitions
|
|
;
|
|
; Disassembled by Romych and Ghidra @2026.08.27
|
|
; =============================================================================
|
|
|
|
; ---------------------------------------------------
|
|
; Reserved words table
|
|
; ---------------------------------------------------
|
|
MB_RESLST:
|
|
|
|
MB_ATAB:
|
|
; ---------------------------------------------------
|
|
DB "UT", 'O' OR 0x80, _AUTO
|
|
DB 'N', 'D' OR 0x80, _AND
|
|
DB 'B', 'S' OR 0x80, _ABS - 0x80
|
|
DB 'T', 'N' OR 0x80, _ATN - 0x80
|
|
DB 'S', 'C' OR 0x80, _ASC - 0x80
|
|
DB 0
|
|
; ---------------------------------------------------
|
|
MB_BTAB:
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_CTAB:
|
|
DB "LOS", 'E' OR 0x80, _CLOSE
|
|
DB "ON", 'T' OR 0x80, _CONT
|
|
DB "LEA", 'R' OR 0x80, _CLEAR
|
|
DB "IN", 'T' OR 0x80, _CINT - 0x80
|
|
DB "SN", 'G' OR 0x80, _CSNG - 0x80
|
|
DB "DB", 'L' OR 0x80, _CDBL - 0x80
|
|
DB 'V', 'I' OR 0x80, _CVI - 0x80
|
|
DB 'V', 'S' OR 0x80, _CVS - 0x80
|
|
DB 'V', 'D' OR 0x80, _CVD - 0x80
|
|
DB "O", 'S' OR 0x80, _COS - 0x80
|
|
DB "HR", '$' OR 0x80, _CHR_ - 0x80
|
|
DB "AL", 'L' OR 0x80, _CALL
|
|
DB "OMMO", 'N' OR 0x80, _COMMON
|
|
DB "HAI", 'N' OR 0x80, _CHAIN
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_DTAB:
|
|
DB "ELET", 'E' OR 0x80, _DELETE
|
|
DB "AT", 'A' OR 0x80, _DATA
|
|
DB 'I', 'M' OR 0x80, _DIM
|
|
DB "EFST", 'R' OR 0x80, _DEFSTR
|
|
DB "EFIN", 'T' OR 0x80, _DEFINT
|
|
DB "EFSN", 'G' OR 0x80, _DEFSNG
|
|
DB "EFDB", 'L' OR 0x80, _DEFDBL
|
|
DB 'E', 'F' OR 0x80, _DEF
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_ETAB:
|
|
DB "LS", 'E' OR 0x80, _ELSE
|
|
DB 'N', 'D' OR 0x80, _END
|
|
DB "RAS", 'E' OR 0x80, _ERASE
|
|
DB "DI", 'T' OR 0x80, _EDIT
|
|
DB "RRO", 'R' OR 0x80, _ERROR
|
|
DB 'R', 'L' OR 0x80, _ERL
|
|
DB 'R', 'R' OR 0x80, _ERR
|
|
DB 'X', 'P' OR 0x80, _EXP - 0x80
|
|
DB 'O', 'F' OR 0x80, _EOF - 0x80
|
|
DB 'Q', 'V' OR 0x80, _EQV
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_FTAB:
|
|
DB 'O', 'R' OR 0x80, _FOR
|
|
DB "IEL", 'D' OR 0x80, _FIELD
|
|
DB "ILE", 'S' OR 0x80, _FILES
|
|
DB 'N' OR 0x80, _FN
|
|
DB 'R', 'E' OR 0x80, _FRE - 0x80
|
|
DB 'I', 'X' OR 0x80, _FIX - 0x80
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_GTAB:
|
|
DB "OT", 'O' OR 0x80, _GOTO
|
|
DB "O T", 'O' OR 0x80, _GOTO
|
|
DB "OSU", 'B' OR 0x80, _GOSUB
|
|
DB 'E', 'T' OR 0x80, _GET
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_HTAB:
|
|
DB "EX", '$' OR 0x80, _HEX_ - 0x80
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_ITAB:
|
|
DB "NPU", 'T' OR 0x80, _INPUT
|
|
DB 'F' OR 0x80, _IF
|
|
DB "NST", 'R' OR 0x80, _INSTR
|
|
DB 'N', 'T' OR 0x80, _INT - 0x80
|
|
DB 'N', 'P' OR 0x80, _INP - 0x80
|
|
DB 'M', 'P' OR 0x80, _IMP
|
|
DB "NKEY", '$' OR 0x80, _INKEY
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_JTAB:
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_KTAB:
|
|
DB "IL", 'L' OR 0x80, _KILL
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_LTAB:
|
|
DB "PRIN", 'T' OR 0x80, _LPRINT
|
|
DB "LIS", 'T' OR 0x80, _LLIST
|
|
DB "PO", 'S' OR 0x80, _LPOS - 0x80
|
|
DB 'E', 'T' OR 0x80, _LET
|
|
DB "IN", 'E' OR 0x80, _LINE
|
|
DB "OA", 'D' OR 0x80, _LOAD
|
|
DB "SE", 'T' OR 0x80, _LSET
|
|
DB "IS", 'T' OR 0x80, _LIST
|
|
DB 'O', 'G' OR 0x80, _LOG - 0x80
|
|
DB 'O', 'C' OR 0x80, _LOC - 0x80
|
|
DB "E", 'N' OR 0x80, _LEN - 0x80
|
|
DB "EFT", '$' OR 0x80, _LEFT_ - 0x80
|
|
DB 'O', 'F' OR 0x80, _LOF - 0x80
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_MTAB:
|
|
DB "ERG", 'E' OR 0x80, 0xC5
|
|
DB 'O', 'D' OR 0x80, 0xFC
|
|
DB "KI", '$' OR 0x80, _MKI_ - 0x80
|
|
DB "KS", '$' OR 0x80, _MKS_ - 0x80
|
|
DB "KD", '$' OR 0x80, _MKD_ - 0x80
|
|
DB "ID", '$' OR 0x80, _MID_ - 0x80
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_NTAB:
|
|
DB "EX", 'T' OR 0x80, _NEXT
|
|
DB "UL", 'L' OR 0x80, _NULL
|
|
DB "AM", 'E' OR 0x80, _NAME
|
|
DB 'E', 'W' OR 0x80, _NEW
|
|
DB 'O', 'T' OR 0x80, _NOT
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_OTAB:
|
|
DB "PE", 'N' OR 0x80, _OPEN
|
|
DB 'U', 'T' OR 0x80, _OUT
|
|
DB 'N' OR 0x80, _ON
|
|
DB 'R' OR 0x80, _OR
|
|
DB "CT", '$' OR 0x80, _OCT_ - 0x80
|
|
DB "PTIO", 'N' OR 0x80, _OPTION
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_PTAB:
|
|
DB "RIN", 'T' OR 0x80, _PRINT
|
|
DB 'U', 'T' OR 0x80, _PUT
|
|
DB "OK", 'E' OR 0x80, _POKE
|
|
DB 'O', 'S' OR 0x80, _POS - 0x80
|
|
DB "EE", 'K' OR 0x80, _PEEK - 0x80
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_QTAB:
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_RTAB:
|
|
DB "ETUR", 'N' OR 0x80, _RETUR
|
|
DB "EA", 'D' OR 0x80, _READ
|
|
DB 'U', 'N' OR 0x80, _RUN
|
|
DB "ESTOR", 'E' OR 0x80, _RESTORE
|
|
DB 'E', 'M' OR 0x80, _REM
|
|
DB "ESUM", 'E' OR 0x80, _RESUME
|
|
DB "SE", 'T' OR 0x80, _RSET
|
|
DB "IGHT", '$' OR 0x80, _RIGHT - 0x80
|
|
DB 'N', 'D' OR 0x80, _RND - 0x80
|
|
DB "ENU", 'M' OR 0x80, _RENUM
|
|
DB "ESE", 'T' OR 0x80, _RESET
|
|
DB "ANDOMIZ", 'E' OR 0x80, _RANDOMIZE
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_STAB:
|
|
DB "TO", 'P' OR 0x80, _STOP
|
|
DB "WA", 'P' OR 0x80, _SWAP
|
|
DB "AV", 'E' OR 0x80, _SAVE
|
|
DB "PC", '(' OR 0x80, _SPC
|
|
DB "TE", 'P' OR 0x80, _STEP
|
|
DB 'G', 'N' OR 0x80, _SGN - 0x80
|
|
DB 'Q', 'R' OR 0x80, _SQR - 0x80
|
|
DB 'I', 'N' OR 0x80, _SIN - 0x80
|
|
DB "TR", '$' OR 0x80, _STR_- 0x80
|
|
DB "TRING", '$' OR 0x80, _STRIN
|
|
DB "PACE", '$' OR 0x80, _SPACE - 0x80
|
|
DB "YSTE", 'M' OR 0x80, _SYSTE
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_TTAB:
|
|
DB "HE", 'N' OR 0x80, _THEN
|
|
DB "RO", 'N' OR 0x80, _TRON
|
|
DB "ROF", 'F' OR 0x80, _TROFF
|
|
DB "AB", '(' OR 0x80, _TAB
|
|
DB 'O' OR 0x80, _TO
|
|
DB 'A', 'N' OR 0x80, _TAN - 0x80
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_UTAB:
|
|
DB "SIN", 'G' OR 0x80, _USING
|
|
DB 'S', 'R' OR 0x80, _USR
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_VTAB:
|
|
DB 'A', 'L' OR 0x80, _VAL - 0x80
|
|
DB "ARPT", 'R' OR 0x80, _VARPTR
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_WTAB:
|
|
DB "IDT", 'H' OR 0x80, _WIDTH
|
|
DB "AI", 'T' OR 0x80, _WAIT
|
|
DB "HIL", 'E' OR 0x80, _WHILE
|
|
DB "EN", 'D' OR 0x80, _WEND
|
|
DB "RIT", 'E' OR 0x80, _WRITE
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_XTAB:
|
|
DB 'O', 'R' OR 0x80, _XOR
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_YTAB:
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
MB_ZTAB:
|
|
DB 0
|
|
|
|
; ---------------------------------------------------
|
|
;
|
|
; ---------------------------------------------------
|
|
MB_SPCTAB:
|
|
DB '+' OR 0x80
|
|
DB PLUSTK
|
|
DB '-' OR 0x80
|
|
DB MINUTK
|
|
DB '*' OR 0x80
|
|
DB MULTK
|
|
DB '/' OR 0x80
|
|
DB DIVTK
|
|
DB '^' OR 0x80
|
|
DB EXPTK
|
|
DB ASCII_BKSL OR 0x80
|
|
DB IDIVTK
|
|
DB '''' OR 0x80
|
|
DB SNGQTK
|
|
DB '>' OR 0x80
|
|
DB GREATK
|
|
DB '=' OR 0x80
|
|
DB EQULTK
|
|
DB '<' OR 0x80
|
|
DB LESSTK
|
|
DB 0
|