;********* ; * ; BASIC0 * ; * ;********* ; ; ; ; LIST OF MAJOR ROUTINES USED IN BASIC MODULE # ; ATOF00 ;ASCII TO FLOATING 1 ATOI00 ;ASCII TO INTEGER 1 CLOS00 ;CLOSE ANY OPEN FILES 3 CLRU00 ;CLOSE TEMP USER SPACE (IF ANY) 3 CRLF00 ;DO [CR,LF] 3 DIMC00 ;CHECK LEGALITY OF DIMENSIONS 3 EVAL00 ;EVALUATE ARITHMETIC EXPRESSION 2 EVLS00 ;EVALUATE STRING EXPRESSION 2 FIND00 ;FIND LINE NUMBER (IN R0) 3 GETV00 ;GET TRUNCATED VARIABLE 3 ITOA00 ;CONVERT INTEGER TO ASCII 1 JUNK00 ;SKIP OVER TRASH TO END OF LINE 3 PCK00 ;PACK LINE INTO WORKING STORAGE 3 PRNT00 ;PRINT CHARACTER 3 PRN00 ;PRINT LINE, R0=FBA,R1=LBA 3 PRLN00 ;PRINT LINE NUMBER 3 PUSH00 ;PUSH ONE WORD INTO USER LIST 3 SCR00 ;DELETE N BYTES FROM USER SPACE 3 SKIP00 ;SKIP OVER SPACES IN INPUT TEXT 3 SQU00 ;DELETE TEXT TO TERMINATOR AND PACK 3 SRCH00 ;SEARCH FOR LINE FEED USING R1 AS POINTER 3 SRL00 ;SEARCH FOR ITEM IN USER STORAGE 3 STRL00 ;COMPUTE STRING LENGTH 3 TST00 ;TEST CHAR (IN R2) ALPHA VS NUMERIC 3 TSTU00 ;CHECK, IS THERE ENOUGH USER SPACE 3 FNMB00 ;GET FILE NUMBER AND SET UP FILE 3 ; ERROR CALLS IN BASIC ARE MADE BY TRAP CALLS ; ; THE FOLLOWING IS A LIST OF IMPLEMENTED ERROR CALLS. ; ; FATAL ERROR CALLS ; OVFERR ;USER STORAGE OVERFLOW - 0 UNRERR ;UNRECOGNIZED STATEMENT - 1 GOERR ;ILLEGAL GOTO OR GOSUB - 2 ILCERR ;ILLEGAL CHARACTER TERMINATING STMT - 3 RETERR ;RETURN WITHOUT GOSUB - 4 SBSERR ;BADLY FORMED SUBSCRIPT - 5 SUBERR ;SUBSCRIPT OUT OF RANGE - 6 PARERR ;MISMATCHED PARENTHESES - 7 LETERR ;ILLEGAL LET - 8 OPRERR ;ILLEGAL RELATIONAL OPERATOR IN IF - 9 IFERR ;ILLEGAL IF - 10 PRNERR ;ILLEGAL PRINT - 11 LINERR ;INPUT LINE TOO LONG - 12 DIMERR ;BAD DIMENSION - 13 DMVERR ;NOT ENOUGH ROOM IN STORAGE FOR THE ARRAY - 14 DEFERR ;BADLY FORMED DEFINE - 15 LNNERR ;ILLEGAL LINE NUMBER OR DIMENSION VALUE - 16 DMDERR ;DIM OF PREVIOUSLY DECLARED OR USED ITEM - 17 INPERR ;BAD VARIABLE IN INPUT LIST - 18 REAERR ;BAD VARIABLE IN READ LIST - 19 RE1ERR ;OUT OF DATA - 20 RE2ERR ;BAD FORMAT IN A DATA STATEMENT - 21 FORERR ;ILLEGAL FOR STATEMENT - 22 NXTERR ;NO NEXT MATCHING FOR - 23 NXMERR ;NEXT WITHOUT FOR - 24 UNMERR ;UNMATCHED QUOTES IN STATEMENT - 25 EXFERR ;EXTERNAL FUNCTION NOT PROPERLY SET UP - 26 ILFERR ;ILL FORMED EXPRESSION - 27 CSIERR ;COMMAND STRING ERROR - 28 STRERR ;SBS FUNCTION ERROR - 29 STXERR ;SYNTAX ERROR IN FUNCTION - 30 OPNERR ;SYNTAX ERROR IN OPEN - 31 CLSERR ;SYNTAX ERROR IN CLOSE - 32 FNMERR ;INVALID FILE NUMBER - 33 EOFERR ;END OF FILE ERROR - 34 CLOSER ;FCS ERROR DURING CLOSE - 35 OPENER ;FCS ERROR DURING OPEN - 36 CALERR ;ERROR IN PROCESSING CALL STATEMENT - 37 ARGERR ;ERROR IN PROCESSING CALL ARGUMENTS - 38 STOERR ;ERROR IN STORE DURING CALLED ROUTINE - 39 OPLBER ;ERROR IN SYNTAX OR LUN IN USE IN LIB OPEN - 40 OPLFER ;FCS ERROR IN LIBRARY OPEN OR FIRST READ - 41 SLPERR ;ERROR IN SLEEP COMMAND - 42 WATERR ;ERROR IN WAIT COMMAND - 43 TMOERR ;TIMEOUT ERROR ON INPUT - 44 PRIERR ;PRIORITY ERROR - 45 PRFERR ;PROGRAM FILE ERROR - 46 FACERR ;FILE ACCESS MODE ERROR - 47 LODERR ;ERROR IN LOADED USER SUBROUTINE - 48 VFIERR ;VIRTUAL FILE ACCESS ERROR - 49 VOPERR ;VIRTUAL FILE OPEN ERROR - 50 SETERR ;ERROR IN SET COMMAND - 51 COMERR ;USE OF /CO SWITCH ON NORMAL BASIC SOURCE -52 IMMERR ;IMMEDIATE MODE COMMAND IN SOURCE PROGRAM -53 TM1ERR ;DEBUGGING ERROR #1 - 62 TM2ERR ;DEBUGGING ERROR #2 - 63 ; ; NON-FATAL ERROR CALLS ; ; LOGERR ;LOG OF NEGATIVE OR ZERO NUMBER - 64 SQRERR ;SQUARE ROOT OF NEGATIVE NUMBER - 65 DVFERR ;DIV.-MUL. OVERFLOW OR UNDERFLOW - 66 FIXERR ;NUMBER TOO LARGE TO FIX - 67 FOFERR ;FLOATING POINT OVERFLOW - 68 FUFERR ;FLOATING POINT UNDERFLOW - 69 NXVERR ;NON-EXISTENT VARIABLE - 70 IN1ERR ;TOO MUCH DATA TYPED - 71 IN2ERR ;NOT ENOUGH DATA TYPED - 72 IN3ERR ;ILLEGAL CHARACTERS ON INPUT - 73 VALERR ;ERROR IN VAL FUNCTION - 74 ; ; END OF DIAGNOSTIC CALLS ; ; ; TRAP01: VA ARYL00 ;COMPUTE ARRAY LENGTH VA ATOF00 ;ASCII TO FLOATING VA ATOI00 ;ASCII TO INTEGER VA CLOS00 ;CLOSE ANY OPEN DATASETS VA CLRU00 ;DELETE TEMPORARY USER SPACE IF ANY VA CRLF00 ;TYPE VA DIMC00 ;CHECK LEGAL DIMENSION VA EVAL00 ;EVALUATE EXPRESSION VA EVLS00 ;EVALUATE A STRING EXPRESSION VA FIND00 ;FIND LINE NUMBER SPECIFIED IN R0 VA GTDR00 ;GET ADDRESS OF VARIABLE ELEMENT VA GET00 ;GET PARAMETERS FOR COMMAND VA GTSD00 ;GET A STRING VAR ADDRESS VA GETV00 ;GET TRUNCATED VARIABLE VA ITOA00 ;INTEGER TO ASCII VA JUNK00 ;FIND LOGICAL END OF LINE VA PCK00 ;PACK LINE INTO WORKING STORAGE VA PRNT00 ;TYPE ONE CHARACTER FROM R2 VA PRN00 ;PRINT LINE - R0=FBA, R1=LBA VA PRLN00 ;TYPE LINE NUMBER VA PSH00 ;PUSH NAMED VARIABLE ON LIST VA PSHS00 ;PUSH NAMED STRING VAR TO LIST VA PUSH00 ;PUSH ONE WORD ON THE USER STACK VA PUT00 ;PUSH A VALUE ON THE LIST VA SCR00 ;DELETE N BYTES FROM USER SPACE VA SKIP00 ;SKIP BLANKS IN WORKING STORAGE VA SQU00 ;DELETE TEXT TO TERMINATOR VA SRCH00 ;SEARCH FOR LINE FEED VA SRL00 ;SEARCH FOR ITEM IN USER STORAGE VA STRL00 ;CALC STRING ARRAY LENGTH VA SUBS00 ;COMPUTE SUBSCRIPT EXPRESSION VA TST00 ;TEST ALPHABETIC VS NUMERIC VA TSTU00 ;CHECK FOR ENOUGH USER SPACE VA TWO00 ;PACK TWO CHARACTERS IN R4 VA TXT00 ;GET EVEN USER STORAGE ADDRESS VA FNMB00 ;SETUP FILE CONTROL BLOCK FOR I/O ; ; END OF TRAP HANDLER