177 lines
3.7 KiB
PHP
177 lines
3.7 KiB
PHP
; =============================================================================
|
|
; Source codes for Microsoft Basic-80 v5.21 for CP/M
|
|
;
|
|
; Operators and fubctions dispatch tables
|
|
;
|
|
; Disassembled by Romych and Ghidra @2026.08.27
|
|
; =============================================================================
|
|
|
|
; ---------------------------------------------------
|
|
; DISPATCH TABLES
|
|
; ---------------------------------------------------
|
|
MB_STMDSP:
|
|
DW MB_ENDS
|
|
DW MB_FOR
|
|
DW MB_NEXT
|
|
DW MB_DATAS ;= 01h
|
|
DW MB_INPUT
|
|
DW MB_DIM
|
|
DW MB_READ
|
|
DW MB_LET
|
|
DW MB_GOTO
|
|
DW MB_RUN
|
|
DW MB_IFS
|
|
DW MB_RESTORE
|
|
DW MB_GOSUB
|
|
DW MB_RETURN
|
|
DW MB_REM
|
|
DW MB_STOP
|
|
DW MB_PRINT
|
|
DW MB_CLEAR
|
|
DW MB_LIST
|
|
DW MB_SCRATH
|
|
DW MB_ONGOTO
|
|
DW MB_NULL
|
|
DW MB_FNWAIT
|
|
DW MB_DEF
|
|
DW MB_POKE
|
|
DW MB_CONT
|
|
DW MB_SNERR ; CSAVE - unsupported for CP/M
|
|
DW MB_SNERR ; CLOAD - unsupported for CP/M
|
|
DW MB_FNOUT
|
|
DW MB_LPRINT
|
|
DW MB_LLIST
|
|
DW 0
|
|
DW MB_WIDTH
|
|
DW MB_REM
|
|
DW MB_TON
|
|
DW MB_TOFF
|
|
DW MB_SWAP
|
|
DW MB_ERASE
|
|
DW MB_EDIT
|
|
DW MB_ERRORS
|
|
DW MB_RESUME
|
|
DW MB_DELETE
|
|
DW MB_AUTO
|
|
DW MB_RESEQ
|
|
DW MB_DEFSTR
|
|
DW MB_DEFINT
|
|
DW MB_DEFREA
|
|
DW MB_DEFDBL
|
|
DW MB_LINE
|
|
DW 0
|
|
DW 0
|
|
DW MB_WHILE
|
|
DW MB_WEND
|
|
DW MB_CALLS
|
|
DW MB_WRITE
|
|
DW MB_DATAS
|
|
DW MB_CHAIN
|
|
DW MB_OPTION
|
|
DW MB_RANDOM
|
|
DW 0
|
|
DW MB_SYSTEM
|
|
DW 0
|
|
DW MB_OPEN
|
|
DW MB_FIELD
|
|
DW MB_GET
|
|
DW MB_PUT
|
|
DW MB_CLOSE
|
|
DW MB_LOAD
|
|
DW MB_MERGE
|
|
DW MB_FILES
|
|
DW MB_NAME
|
|
DW MB_KILL
|
|
DW MB_LSET
|
|
DW MB_RSET
|
|
DW MB_SAVE
|
|
DW MB_RESET
|
|
|
|
; ---------------------------------------------------
|
|
; TOKENS
|
|
; ---------------------------------------------------
|
|
MB_FUNDSP:
|
|
DW MB_LEFT_
|
|
DW MB_RIGHT_
|
|
DW MB_MID_
|
|
DW MB_SGN
|
|
DW MB_VINT
|
|
DW MB_ABS
|
|
DW MB_SQR
|
|
DW MB_RND
|
|
DW MB_SIN
|
|
; 8K FUNCTIONS
|
|
DW MB_LOG
|
|
DW MB_EXP
|
|
DW MB_COS
|
|
DW MB_TAN
|
|
DW MB_ATN
|
|
DW MB_FRE
|
|
DW MB_FNINP
|
|
DW MB_POS
|
|
DW MB_LEN
|
|
DW MB_STR_
|
|
DW MB_VAL
|
|
DW MB_ASC
|
|
DW MB_CHR_
|
|
DW MB_PEEK
|
|
DW MB_SPACE_
|
|
DW MB_STRO_
|
|
DW MB_STRH_
|
|
DW MB_LPOS
|
|
|
|
; ---------------------------------------------------
|
|
; EXTENDED FUNCTIONS
|
|
; ---------------------------------------------------
|
|
DW MB_FRCINT
|
|
DW MB_FRCSNG
|
|
DW MB_FRCDBL
|
|
DW MB_FIXER
|
|
|
|
DS 22, 0
|
|
|
|
; ---------------------------------------------------
|
|
; DISK FUNCTIONS
|
|
; ---------------------------------------------------
|
|
DW MB_CVI
|
|
DW MB_CVS
|
|
DW MB_CVD
|
|
DW WARM_BOOT
|
|
DW MB_EOF
|
|
DW MB_LOC
|
|
DW MB_LOF
|
|
DW MB_MKI_
|
|
DW MB_MKS_
|
|
DW MB_MKD_
|
|
|
|
; --------------------------------------------------
|
|
; ALPHABETIC DISPATCH TABLE
|
|
; --------------------------------------------------
|
|
MB_ALPTAB:
|
|
DW MB_ATAB
|
|
DW MB_BTAB
|
|
DW MB_CTAB
|
|
DW MB_DTAB
|
|
DW MB_ETAB
|
|
DW MB_FTAB
|
|
DW MB_GTAB
|
|
DW MB_HTAB
|
|
DW MB_ITAB
|
|
DW MB_JTAB
|
|
DW MB_KTAB
|
|
DW MB_LTAB
|
|
DW MB_MTAB
|
|
DW MB_NTAB
|
|
DW MB_OTAB
|
|
DW MB_PTAB
|
|
DW MB_QTAB
|
|
DW MB_RTAB
|
|
DW MB_STAB
|
|
DW MB_TTAB
|
|
DW MB_UTAB
|
|
DW MB_VTAB
|
|
DW MB_WTAB
|
|
DW MB_XTAB
|
|
DW MB_YTAB
|
|
DW MB_ZTAB
|