Dis-assembly of NASCOM ROM BASIC Ver 4.7 PAGE 2
; BASIC WORK SPACE LOCATIONS
1000 WRKSPC EQU 1000H ; BASIC Work space
1003 USR EQU 1003H ; "USR (x)" jump
1006 OUTSUB EQU 1006H ; "OUT p,n"
1007 OTPORT EQU 1007H ; Port (p)
1009 DIVSUP EQU 1009H ; Division support routine
100A DIV1 EQU 100AH ; <- Values
100E DIV2 EQU 100EH ; <- to
1012 DIV3 EQU 1012H ; <- be
1015 DIV4 EQU 1015H ; <-inserted
1017 SEED EQU 1017H ; Random number seed
103A LSTRND EQU 103AH ; Last random number
103E INPSUB EQU 103EH ; #INP (x)" Routine
103F INPORT EQU 103FH ; PORT (x)
1041 NULLS EQU 1041H ; Number of nulls
1042 LWIDTH EQU 1042H ; Terminal width
1043 COMMAN EQU 1043H ; Width for commas
1044 NULFLG EQU 1044H ; Null after input byte flag
1045 CTLOFG EQU 1045H ; Control "O" flag
1046 LINESC EQU 1046H ; Lines counter
1048 LINESN EQU 1048H ; Lines number
104A CHKSUM EQU 104AH ; Array load/save check sum
104C NMIFLG EQU 104CH ; Flag for NMI break routine
104D BRKFLG EQU 104DH ; Break flag
104E RINPUT EQU 104EH ; Input reflection
1051 POINT EQU 1051H ; "POINT" reflection (unused)
1054 PSET EQU 1054H ; "SET" reflection
1057 RESET EQU 1057H ; "RESET" reflection
105A STRSPC EQU 105AH ; Bottom of string space
105C LINEAT EQU 105CH ; Current line number
105E BASTXT EQU 105EH ; Pointer to start of program
1061 BUFFER EQU 1061H ; Input buffer
1066 STACK EQU 1066H ; Initial stack
10AB CURPOS EQU 10ABH ; Character position on line
10AC LCRFLG EQU 10ACH ; Locate/Create flag
10AD TYPE EQU 10ADH ; Data type flag
10AE DATFLG EQU 10AEH ; Literal statement flag
10AF LSTRAM EQU 10AFH ; Last available RAM
10B1 TMSTPT EQU 10B1H ; Temporary string pointer
10B3 TMSTPL EQU 10B3H ; Temporary string pool
10BF TMPSTR EQU 10BFH ; Temporary string
10C3 STRBOT EQU 10C3H ; Bottom of string space
10C5 CUROPR EQU 10C5H ; Current operator in EVAL
Dis-assembly of NASCOM ROM BASIC Ver 4.7 PAGE 3
10C7 LOOPST EQU 10C7H ; First statement of loop
10C9 DATLIN EQU 10C9H ; Line of current DATA item
10CB FORFLG EQU 10CBH ; "FOR" loop flag
10CC LSTBIN EQU 10CCH ; Last byte entered
10CD READFG EQU 10CDH ; Read/Input flag
10CE BRKLIN EQU 10CEH ; Line of break
10D0 NXTOPR EQU 10D0H ; Next operator in EVAL
10D2 ERRLIN EQU 10D2H ; Line of error
10D4 CONTAD EQU 10D4H ; Where to CONTinue
10D6 PROGND EQU 10D6H ; End of program
10D8 VAREND EQU 10D8H ; End of variables
10DA ARREND EQU 10DAH ; End of arrays
10DC NXTDAT EQU 10DCH ; Next data item
10DE FNRGNM EQU 10DEH ; Name of FN argument
10E0 FNARG EQU 10E0H ; FN argument value
10E4 FPREG EQU 10E4H ; Floating point register
10E7 FPEXP EQU FPREG+3 ; Floating point exponent
10E8 SGNRES EQU 10E8H ; Sign of result
10E9 PBUFF EQU 10E9H ; Number print buffer
10F6 MULVAL EQU 10F6H ; Multiplier
10F9 PROGST EQU 10F9H ; Start of program text area
115D STLOOK EQU 115DH ; Start of memory test
; BASIC ERROR CODE VALUES
0000 NF EQU 00H ; NEXT without FOR
0002 SN EQU 02H ; Syntax error
0004 RG EQU 04H ; RETURN without GOSUB
0006 OD EQU 06H ; Out of DATA
0008 FC EQU 08H ; Function call error
000A OV EQU 0AH ; Overflow
000C OM EQU 0CH ; Out of memory
000E UL EQU 0EH ; Undefined line number
0010 BS EQU 10H ; Bad subscript
0012 DD EQU 12H ; Re-DIMensioned array
0014 DZ EQU 14H ; Division by zero (/0)
0016 ID EQU 16H ; Illegal direct
0018 TM EQU 18H ; Type miss-match
001A OS EQU 1AH ; Out of string space
001C LS EQU 1CH ; String too long
001E ST EQU 1EH ; String formula too complex
0020 CN EQU 20H ; Can't CONTinue
0022 UF EQU 22H ; UnDEFined FN function
0024 MO EQU 24H ; Missing operand