Split data from code
This commit is contained in:
parent
1132ceed34
commit
00610b2925
176
v5.21/disptab.inc
Normal file
176
v5.21/disptab.inc
Normal file
@ -0,0 +1,176 @@
|
||||
; =============================================================================
|
||||
; 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
|
||||
@ -188,17 +188,17 @@ MINUTK EQU 0xf3 ; 243
|
||||
MULTK EQU 0xf4 ; 244
|
||||
DIVTK EQU 0xf5
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; 8K OPERATORS
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
|
||||
EXPTK EQU 246 ; 0xF6
|
||||
_AND EQU 247 ; 0xF7
|
||||
_OR EQU 248 ; 0xF8
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; EXTENDED OPERATORS
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
|
||||
_XOR EQU 249 ; 0xF9
|
||||
_EQV EQU 250 ; 0xFA
|
||||
@ -209,31 +209,27 @@ IDIVTK EQU 253 ; 0xFD
|
||||
|
||||
LSTOPK EQU 253 + 1 - PLUSTK
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; FUNCTIONS
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
|
||||
;Q EQU 128 ; 0x80
|
||||
_LEFT_ EQU 129 ; 0x81
|
||||
ONEFUN EQU 129 ; 0x81
|
||||
_RIGHT EQU 130 ; 0x82
|
||||
|
||||
_MID_ EQU 131 ; 0x83
|
||||
MIDTK EQU 131 ; 0x83
|
||||
|
||||
_SGN EQU 132 ; 0x84
|
||||
_INT EQU 133 ; 0x85
|
||||
_ABS EQU 134 ; 0x86
|
||||
|
||||
_SQR EQU 135 ; 0x87
|
||||
SQRTK EQU 135 ; 0x87
|
||||
|
||||
_RND EQU 136 ; 0x88
|
||||
_SIN EQU 137 ; 0x89
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; 8K FUNCTIONS
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
|
||||
_LOG EQU 138 ; 0x8A
|
||||
_EXP EQU 139 ; 0x8B
|
||||
@ -255,19 +251,19 @@ _HEX_ EQU 154 ; 0x9A
|
||||
_LPOS EQU 155 ; 0x9B
|
||||
;LASNUM EQU 155 ; 0x9B
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; EXTENDED FUNCTIONS
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
|
||||
_CINT EQU 156 ; 0x9C
|
||||
_CSNG EQU 157 ; 0x9D
|
||||
_CDBL EQU 158 ; 0x9E
|
||||
_FIX EQU 159 ; 0x9F
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; NCR VERSION FUNCTIONS
|
||||
; DISK FUNCTIONS
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
|
||||
_CVI EQU 171 ; 0xAC
|
||||
_CVS EQU 172 ; 0xAD
|
||||
@ -279,16 +275,15 @@ _MKI_ EQU 178 ; 0xB3
|
||||
_MKS_ EQU 179 ; 0xB4
|
||||
_MKD_ EQU 180 ; 0xB5
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; END DISK FUNCTIONS
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
|
||||
NUMGFN EQU 2*MIDTK - 2*ONEFUN + 1 ; 5
|
||||
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; CP/M Entry
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
|
||||
WARM_BOOT EQU 0x0000
|
||||
WARM_BOOT_ADDR EQU WARM_BOOT + 1
|
||||
@ -296,11 +291,11 @@ BDOS_ENTER EQU 0x0005
|
||||
BDOS_ENTER_ADDR EQU BDOS_ENTER + 1
|
||||
DMA_BUFFER EQU 0x80
|
||||
P_CMD_LINE EQU DMA_BUFFER + 1
|
||||
TPA EQU 0x100 ; 256
|
||||
TPA EQU 0x100
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; CP/M functions
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
C.VER EQU 0x0c ; Get version
|
||||
C.REST EQU 0x0d ; Init BDOS
|
||||
C.SDRV EQU 0x0e ; Set current drive
|
||||
@ -325,9 +320,9 @@ FCB.RC EQU 38 ; 0x0F ? ; RECORD COUNT = CURRENT EXTE
|
||||
FCB.NR EQU 40 ; 0x20 ? ; NEXT RECORD NUMBER
|
||||
FCB.RN EQU 33 ; CP/M 2.x Random Record Number
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; File access mode
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
MD.SQI EQU 1 ; seq inp
|
||||
MD.SQO EQU 2 ; seq out
|
||||
MD.RND EQU 3 ; random
|
||||
@ -348,9 +343,9 @@ CONCON EQU 30 ; TOKEN RETURNED BY CHRGET AFTER CON
|
||||
DBLCON EQU 31 ; DOUBLE PREC (8 BYTE) CONSTANT
|
||||
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; ASCII codes
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
|
||||
ASCII_BELL EQU 0x07 ; 7
|
||||
ASCII_BKSP EQU 0x08 ; 8
|
||||
@ -364,9 +359,9 @@ ASCII_CUR EQU 0x24 ; $
|
||||
ASCII_SQ EQU 0x27 ; '
|
||||
ASCII_BKSL EQU 0x5C ; \
|
||||
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
; Key codes
|
||||
; ---------------------------------------------------
|
||||
; --------------------------------------------------
|
||||
|
||||
CTRL_C EQU 0x03 ; 3
|
||||
CTRL_O EQU 0x0f ; 15
|
||||
@ -395,29 +390,45 @@ DATOFC EQU DATOFS
|
||||
DBLKSZ EQU DATOFS + DATPSC
|
||||
DBLK.C EQU DBLKSZ ; SIZE OF A FILE INFO BLOCK PLUS $CODE
|
||||
|
||||
DSKERR EQU 0x31 ; 49
|
||||
EOFCHR EQU 0x1a ; 26
|
||||
|
||||
; --------------------------------------------------
|
||||
; Error codes
|
||||
; --------------------------------------------------
|
||||
ERRNF EQU 0x01
|
||||
ERRSN EQU 0x02 ; 2
|
||||
ERRRG EQU 0x03 ; 3
|
||||
ERROD EQU 0x04 ; 4
|
||||
ERRFC EQU 0x05 ; 5
|
||||
ERROM EQU 0x07
|
||||
ERROV EQU 0x06 ; 6
|
||||
ERROM EQU 0x07
|
||||
ERRUS EQU 0x08 ; 8
|
||||
ERRBS EQU 0x09 ; 9
|
||||
ERRDD EQU 0x0a ; 10
|
||||
ERRDV0 EQU 0x0b ; 11
|
||||
ERRID EQU 0x0c ; 12
|
||||
ERRTM EQU 0x0d ; 13
|
||||
ERRSO EQU 0x0e ; Out of space
|
||||
ERRLS EQU 0x0f ; 15
|
||||
ERRST EQU 0x10 ; String formula too complex
|
||||
ERRCN EQU 0x11 ; 17
|
||||
ERRRE EQU 0x14 ; 20
|
||||
ERRUF EQU 0x12 ; Undefined user function
|
||||
ERRNR EQU 0x13 ; 19
|
||||
ERRRE EQU 0x14 ; 20
|
||||
ERRUE EQU 0x15 ; Unprintable error
|
||||
ERRMO EQU 0x16 ; Missing operand
|
||||
ERRLBO EQU 0x17 ; 23
|
||||
; skipped 18 and 19
|
||||
ERRFN EQU 0x1a ; 26
|
||||
; skipped 1b and 1c
|
||||
ERRWH EQU 0x1d ; 29
|
||||
ERRWE EQU 0x1e ; 30
|
||||
|
||||
NONDSK EQU 0x1e ; Last non disk error
|
||||
|
||||
; disk errors starts from here
|
||||
DSKERR EQU 0x31 ; 49
|
||||
;
|
||||
ERRFOV EQU 0x32 ; 50
|
||||
ERRIER EQU 0x33 ; 51
|
||||
ERRBFN EQU 0x34 ; 52
|
||||
@ -430,6 +441,7 @@ ERRDFL EQU 0x3d ; 61
|
||||
ERRRPE EQU 0x3e ; 62
|
||||
ERRFDR EQU 0x42 ; 66
|
||||
ERRTMF EQU 0x43 ; 67
|
||||
; --------------------------------------------------
|
||||
|
||||
FD.SIZ EQU 0xa9 ; 169
|
||||
FD.PHY EQU 0xab ; 171
|
||||
@ -452,10 +464,7 @@ LSTERR EQU 0x44 ; 68
|
||||
MAXPRM EQU 0x20 ; 32
|
||||
|
||||
NMREL EQU 0x03 ; 3
|
||||
NONDSK EQU 0x1e ; 30
|
||||
PRMSIZ EQU 0x64 ; 100
|
||||
SQO EQU 0x02 ; 2
|
||||
SWTCHR EQU 0x2f ; 47
|
||||
WHLSIZ EQU 0x06 ; 6
|
||||
|
||||
CPM_RES1 EQU 0x3B
|
||||
495
v5.21/inidata.inc
Normal file
495
v5.21/inidata.inc
Normal file
@ -0,0 +1,495 @@
|
||||
; =============================================================================
|
||||
; Source codes for Microsoft Basic-80 v5.21 for CP/M
|
||||
;
|
||||
; Initialized data. Variables, messages and tables.
|
||||
;
|
||||
; Disassembled by Romych and Ghidra @2026.08.27
|
||||
; =============================================================================
|
||||
|
||||
|
||||
; --------------------------------------------------
|
||||
; OPERATOR PRECEDENCE TABLE
|
||||
; --------------------------------------------------
|
||||
MB_OPTAB:
|
||||
DB 121
|
||||
DB 121
|
||||
DB 124
|
||||
DB 124
|
||||
DB 127
|
||||
DB 80
|
||||
DB 70
|
||||
DB 60 ; PRECEDENCE OF "XOR"
|
||||
DB 50 ; PRECEDENCE OF "EQV"
|
||||
DB 40 ; PRECEDENCE OF "IMP"
|
||||
DB 122 ; PRECEDENCE OF "MOD"
|
||||
DB 123 ; PRECEDENCE OF "IDIV"
|
||||
|
||||
; --------------------------------------------------
|
||||
; USED BY ASSIGNMENT CODE TO FORCE THE RIGHT HAND VALUE
|
||||
; TO CORRESPOND TO THE VALUE TYPE OF THE VARIABLE BEING
|
||||
; ASSIGNED TO.
|
||||
; --------------------------------------------------
|
||||
MB_FRCTBL:
|
||||
DW MB_FRCDBL
|
||||
DW 0x0
|
||||
DW MB_FRCINT
|
||||
DW MB_CHKSTR
|
||||
DW MB_FRCSNG
|
||||
|
||||
; ---------------------------------------------------
|
||||
; DOUBLE PRECISION ROUTINES
|
||||
; ---------------------------------------------------
|
||||
MB_DBLDSP:
|
||||
DW MB_DADD
|
||||
DW MB_DSUB
|
||||
DW MB_DMULT
|
||||
DW MB_DDIV
|
||||
DW MB_DCOMP
|
||||
|
||||
; ---------------------------------------------------
|
||||
; SINGLE PRECISION ROUTINES
|
||||
; ---------------------------------------------------
|
||||
MB_SNGDSP:
|
||||
DW MB_FADD
|
||||
DW MB_FSUB
|
||||
DW MB_FMUL
|
||||
DW MB_FDIV
|
||||
DW MB_FCOMP
|
||||
|
||||
; ---------------------------------------------------
|
||||
; INTEGER ROUTINES
|
||||
; ---------------------------------------------------
|
||||
MB_INTDSP:
|
||||
DW MB_IADD
|
||||
DW MB_ISUB
|
||||
DW MB_IMUL
|
||||
DW MB_INTDIV
|
||||
DW MB_ICOMP
|
||||
|
||||
; ---------------------------------------------------
|
||||
MB_ERRTAB:
|
||||
DB 0
|
||||
|
||||
; ---------------------------------------------------
|
||||
MB_ERROR_MSGS:
|
||||
DB "NEXT without FOR", 0
|
||||
DB "Syntax error", 0
|
||||
DB "RETURN without GOSUB", 0
|
||||
DB "Out of DATA", 0
|
||||
DB "Illegal function call", 0
|
||||
|
||||
; ---------------------------------------------------
|
||||
MB_OVRMSG:
|
||||
DB "Overflow", 0
|
||||
DB "Out of memory", 0
|
||||
DB "Undefined line number", 0
|
||||
DB "Subscript out of range", 0
|
||||
DB "Duplicate Definition", 0
|
||||
|
||||
; ---------------------------------------------------
|
||||
MB_DBZ_MSG:
|
||||
DB "Division by zero", 0
|
||||
DB "Illegal direct", 0
|
||||
DB "Type mismatch", 0
|
||||
DB "Out of string space", 0
|
||||
DB "String too long", 0
|
||||
DB "String formula too complex", 0
|
||||
DB "Can't continue", 0
|
||||
DB "Undefined user function", 0
|
||||
DB "No RESUME\0RESUME without error", 0
|
||||
DB "Unprintable error", 0
|
||||
DB "Missing operand", 0
|
||||
DB "Line buffer overflow", 0
|
||||
DB '?', 0
|
||||
DB '?', 0
|
||||
DB "FOR Without NEXT", 0
|
||||
DB '?', 0
|
||||
DB '?', 0
|
||||
DB "WHILE without WEND", 0
|
||||
DB "WEND without WHILE", 0
|
||||
|
||||
DB "FIELD overflow", 0
|
||||
DB "Internal error", 0
|
||||
DB "Bad file number", 0
|
||||
DB "File not found", 0
|
||||
DB "Bad file mode", 0
|
||||
DB "File already open", 0
|
||||
DB '?', 0
|
||||
DB "Disk I/O error", 0
|
||||
DB "File already exists", 0
|
||||
DB '?', 0
|
||||
DB '?', 0
|
||||
DB "Disk full", 0
|
||||
DB "Input past end", 0
|
||||
DB "Bad record number", 0
|
||||
DB "Bad file name", 0
|
||||
DB '?', 0
|
||||
DB "Direct statement in file", 0
|
||||
DB "Too many files", 0
|
||||
|
||||
|
||||
; ---------------------------------------------------
|
||||
MB_USRTAB:
|
||||
DW MB_FCERR
|
||||
DW MB_FCERR
|
||||
DW MB_FCERR
|
||||
DW MB_FCERR
|
||||
DW MB_FCERR
|
||||
DW MB_FCERR
|
||||
DW MB_FCERR
|
||||
DW MB_FCERR
|
||||
DW MB_FCERR
|
||||
DW MB_FCERR
|
||||
|
||||
; ---------------------------------------------------
|
||||
MB_NULCNT:
|
||||
DB 1 ; NUMBER OF NULLS TO PRINT AFTER CRLF
|
||||
MB_CHARC:
|
||||
DB 0 ; EATEN CHAR WHEN NOT A ^C
|
||||
MB_ERRFLG:
|
||||
DB 0 ; ERROR NUMBER SO EDIT CAN BE CALLED ON "SYNTAX ERROR"
|
||||
MB_LPTLST:
|
||||
DB 0 ; LAST LINE PRINTER OPERATION. ZERO MEANS LINEFEED
|
||||
MB_LPTPOS:
|
||||
DB 0 ; POSITION OF LPT PRINT HEAD
|
||||
MB_PRTFLG:
|
||||
DB 0x00
|
||||
MB_NLPPOS:
|
||||
DB 112 ; (((LPTLEN/CLMWID)-1)*CLMWID) - LAST COMMA FIELD POSIT
|
||||
MB_LPTSIZ:
|
||||
DB 132 ; DEFAULT LINE PRINTER WIDTH
|
||||
MB_LINLEN:
|
||||
DB LINLN
|
||||
MB_CLMLST:
|
||||
DB 56 ; POSITION OF LAST COMMA COLUMN
|
||||
MB_RUBSW:
|
||||
DB 0 ; RUBOUT SWITCH=1 INSIDE THE PROCESSING OF A RUBOUT (INLIN)
|
||||
MB_CNTOFL:
|
||||
DB 0 ; SUPRESS OUTPUT FLAG, NON-ZERO MEANS SUPRESS
|
||||
MB_PTRFIL:
|
||||
DW 0 ; POINTER TO DATA BLOCK OF CURRENT FILE
|
||||
MB_TOPMEM:
|
||||
DW MB_TSTACK+100
|
||||
MB_CURLIN:
|
||||
DW 65534 ; CURRENT LINE #
|
||||
MB_TXTTAB:
|
||||
DW MB_TSTACK+1 ; MB_TSTACK+1
|
||||
MB_OVERRI:
|
||||
DW MB_OVRMSG ; = "Overflow"
|
||||
|
||||
; ===================================================
|
||||
; END OF INITIALIZED PART OF RAM
|
||||
; ===================================================
|
||||
|
||||
; ===================================================
|
||||
; DISK DATA STORAGE AREA
|
||||
; ===================================================
|
||||
MB_LSTFRE:
|
||||
DW 0 ; FREE PLACE IN DIRECTORY
|
||||
MB_MAXTRK:
|
||||
DB 0 ; ALLOCATE INSIDE THIS TRACK
|
||||
MB_DSKMOD:
|
||||
DB 0 ; MODE OF FILE JUST LOOKED UP, ZERO IF FILE WAS JUST CREATED
|
||||
MB_FILPT1:
|
||||
DW 0 ; [FILPTR] ALWAYS REFETCHED FROM HERE
|
||||
|
||||
|
||||
; POINTERS TO DATA BLOCKS FOR EACH FILE
|
||||
MB_FILPTR:
|
||||
.16 DW 0x0000
|
||||
|
||||
; HIGHEST FILE NUMBER ALLOWED
|
||||
MB_MAXFIL:
|
||||
DB 0
|
||||
|
||||
; THE NUMBER OF CHARACTER BEYOND #2 IN A VAR NAME
|
||||
MB_NAMCNT:
|
||||
DB 0
|
||||
|
||||
MB_NAMBUF:
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
; TEMP STORAGE DURING NAME SAVE AT INDLOP
|
||||
MB_NAMTMP:
|
||||
DW 0
|
||||
|
||||
MB_FILNA2:
|
||||
.16 DB 0x00
|
||||
|
||||
MB_FILNAM:
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
DB 0x00
|
||||
|
||||
|
||||
MB_CPMVRN:
|
||||
DB 0 ; CP/M Version Number (#0 is 2.x)
|
||||
|
||||
MB_CPMREA:
|
||||
DB 0 ; CP/M Read Call
|
||||
|
||||
MB_CPMWRI:
|
||||
DB 0 ; CP/M Write Call
|
||||
|
||||
MB_RST_INP: ; a colon for restarting input
|
||||
DB ':'
|
||||
|
||||
MB_KBUF:
|
||||
.(KBFLEN) DB 0x00
|
||||
|
||||
MB_BUFMIN:
|
||||
DB 44
|
||||
|
||||
MB_BUF:
|
||||
.256 DB 0x00
|
||||
DB 0 ; ALLOW FOR SINGLE QUOTE IN BIG LINE
|
||||
DB 0
|
||||
|
||||
MB_ENDBUF:
|
||||
DB 0
|
||||
|
||||
MB_TTYPOS:
|
||||
DB 0
|
||||
|
||||
MB_DIMFLG:
|
||||
DB 0
|
||||
|
||||
;THE TYPE INDICATOR
|
||||
MB_VALTYP:
|
||||
DB 0
|
||||
|
||||
;OPERATOR NUMBER
|
||||
MB_OPRTYP:
|
||||
DB 0
|
||||
|
||||
MB_DORES:
|
||||
DB 0
|
||||
MB_CONTXT:
|
||||
DW 0
|
||||
MB_CONSAV:
|
||||
DB 0
|
||||
MB_CONTYP:
|
||||
DB 0
|
||||
|
||||
; SAVED CONSTANT VALUE
|
||||
MB_CONLO:
|
||||
.4 DW 0
|
||||
|
||||
; HIGHEST LOCATION IN MEMORY
|
||||
MB_MEMSIZ:
|
||||
DW 0
|
||||
; POINTER AT FIRST FREE TEMP DESCRIPTOR
|
||||
MB_TEMPPT:
|
||||
DW 0
|
||||
|
||||
MB_TEMPST:
|
||||
.15 DB 0
|
||||
;MB_DSCTMP:
|
||||
.15 DB 0
|
||||
|
||||
; STRING FUNCTIONS BUILD ANSWER DESCRIPTOR HERE
|
||||
MB_DSCTMP:
|
||||
.3 DB 0
|
||||
|
||||
MB_DSCPTR EQU $ - 2
|
||||
|
||||
MB_FRETOP:
|
||||
DW 0
|
||||
MB_TEMP3:
|
||||
DW 0
|
||||
MB_CPMFIL:
|
||||
DW 0
|
||||
MB_ENDFOR:
|
||||
DW 0
|
||||
MB_DATLIN:
|
||||
DW 0
|
||||
MB_SUBFLG:
|
||||
DB 0
|
||||
MB_FLGINP:
|
||||
DB 0
|
||||
MB_TEMP:
|
||||
DW 0
|
||||
MB_PTRFLG:
|
||||
DB 0
|
||||
MB_AUTFLG:
|
||||
DB 0
|
||||
MB_AUTLIN:
|
||||
DW 0
|
||||
MB_AUTINC:
|
||||
DW 0
|
||||
MB_SAVTXT:
|
||||
DW 0
|
||||
MB_SAVSTK:
|
||||
DW 0
|
||||
MB_ERRLIN:
|
||||
DW 0
|
||||
MB_DOT:
|
||||
DW 0
|
||||
MB_ERRTXT:
|
||||
DW 0
|
||||
MB_ONELIN:
|
||||
DW 0
|
||||
MB_ONEFLG:
|
||||
DB 0
|
||||
MB_TEMP2:
|
||||
DW 0
|
||||
MB_OLDLIN:
|
||||
DW 0
|
||||
MB_OLDTXT:
|
||||
DW 0
|
||||
|
||||
; POINTER TO START OF SIMPLE VARIABLE SPACE
|
||||
MB_VARTAB:
|
||||
DW 0
|
||||
|
||||
; POINTER TO BEGINNING OF ARRAY TABLE
|
||||
MB_ARYTAB:
|
||||
DW 0
|
||||
|
||||
; END OF STORAGE IN USE
|
||||
MB_STREND:
|
||||
DW 0x00
|
||||
|
||||
MB_DATPTR:
|
||||
DW 0x0
|
||||
|
||||
MB_DEFTBL:
|
||||
.26 DB 0
|
||||
|
||||
; PREVIOUS DEFINITION BLOCK ON STACK
|
||||
MB_PRMSTK:
|
||||
DW 0
|
||||
|
||||
; NUMBER OF BYTES IN THE ACTIVE TABLE
|
||||
MB_PRMLEN:
|
||||
DW 0
|
||||
|
||||
; ACTIVE PARAMETER DEFINITION TABLE
|
||||
MB_PARM1:
|
||||
.100 DB 0
|
||||
|
||||
MB_PRMPRV:
|
||||
DW 0
|
||||
|
||||
MB_PRMLN2:
|
||||
DW 0
|
||||
|
||||
MB_PARM2:
|
||||
.100 DB 0
|
||||
|
||||
MB_PRMFLG:
|
||||
DB 0x00
|
||||
|
||||
MB_ARYTA2:
|
||||
DW 0x0
|
||||
|
||||
; ZERO IF NO FUNCTIONS ACTIVE. SAVES TIME IN SIMPLE SEARCH
|
||||
MB_NOFUNS:
|
||||
DB 0
|
||||
|
||||
; GARBAGE COLLECTION TEMP TO CHAIN THROUGH PARAMETER BLOCKS
|
||||
MB_TEMP9:
|
||||
DW 0
|
||||
|
||||
; COUNT OF ACTIVE FUNCTIONS
|
||||
MB_FUNACT:
|
||||
DW 0
|
||||
|
||||
MB_INPPAS:
|
||||
DB 0
|
||||
MB_NXTTXT:
|
||||
DW 0
|
||||
MB_NXTFLG:
|
||||
DB 0
|
||||
MB_FVALSV:
|
||||
DW 0
|
||||
DW 0
|
||||
MB_NXTLIN:
|
||||
DW 0
|
||||
MB_OPTVAL:
|
||||
DB 0
|
||||
MB_OPTFLG:
|
||||
DB 0
|
||||
MB_PATCH:
|
||||
.30 DB 0
|
||||
|
||||
MB_TEMPA:
|
||||
DW 0
|
||||
MB_SAVFRE:
|
||||
DW 0
|
||||
MB_MAXREC:
|
||||
DW 0
|
||||
MB_PROFLG:
|
||||
DB 0
|
||||
MB_MRGFLG:
|
||||
DB 0
|
||||
MB_MDLFLG:
|
||||
DB 0
|
||||
MB_CMEPTR:
|
||||
DW 0
|
||||
MB_CMSPTR:
|
||||
DW 0
|
||||
MB_CHNFLG:
|
||||
DB 0
|
||||
MB_CHNLIN:
|
||||
DW 0
|
||||
MB_SWPTMP:
|
||||
DW 0, 0, 0, 0
|
||||
MB_TRCFLG:
|
||||
DB 0
|
||||
|
||||
; ===================================================
|
||||
; THIS IS THE RAM TERMPORARY AREA FOR
|
||||
; MATH PACKAGE ROUTINES
|
||||
; ===================================================
|
||||
|
||||
|
||||
MB_FLOAT_ACC:
|
||||
DB 0 ; FLOATING ACCUMULATOR
|
||||
|
||||
MB_DFACLO:
|
||||
DB 0, 0, 0, 0 ; FOUR LOWEST ORDERS FOR DOUBLE PRECISION
|
||||
|
||||
MB_FACLO:
|
||||
DB 0, 0 ; MIDDLE ORDER OF MANTISSA
|
||||
DB 0 ; HIGH ORDER OF MANTISSA
|
||||
|
||||
MB_FAC:
|
||||
DB 0, 0 ; EXPONENT
|
||||
|
||||
MB_FLGOVC:
|
||||
DB 0 ; OVERFLOW PRINT FLAG, =0, 1 PRINT
|
||||
|
||||
MB_OVCSTR:
|
||||
DB 0
|
||||
|
||||
MB_FANSII:
|
||||
DB 0
|
||||
DB 0
|
||||
|
||||
MB_ARGLO:
|
||||
.7 DB 0 ; LOCATION OF SECOND ARGUMENT FOR DOUBLE
|
||||
MB_ARG:
|
||||
DB 0 ; PRECISION
|
||||
|
||||
MB_FBUFFR:
|
||||
.43 DB 0 ; BUFFER FOR FOUT
|
||||
|
||||
; ===================================================
|
||||
; TEXT CONSTANTS FOR PRINT OUT
|
||||
; ===================================================
|
||||
|
||||
MB_INTXT:
|
||||
DB " in ", 0
|
||||
|
||||
MB_OKTXT:
|
||||
DB "Ok\r\n", 0
|
||||
|
||||
MB_BRKTXT:
|
||||
DB "Break", 0
|
||||
962
v5.21/mb.asm
962
v5.21/mb.asm
File diff suppressed because it is too large
Load Diff
272
v5.21/reswords.inc
Normal file
272
v5.21/reswords.inc
Normal file
@ -0,0 +1,272 @@
|
||||
; =============================================================================
|
||||
; 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
|
||||
Loading…
Reference in New Issue
Block a user