home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / zsys / znode-12 / a / basdocs.lbr / MBASIC.HQP / MBASIC.HLP
Encoding:
Text File  |  1993-06-12  |  20.8 KB  |  494 lines

  1. Introduction to the Microsoft BASIC Interpreter
  2. Special Characters
  3. Variable Type Declaration Chars
  4. Commands
  5. Edit Mode Subcommands
  6. Program Statements (except I/O)
  7. PRINT USING Format Field Specifiers
  8. Input/Output Statements
  9. Operators
  10. Arithmetic Functions
  11. String Functions
  12. I/O and Special Functions
  13. Interpreter Error Codes
  14. Introduction to the Microsoft BASIC Compiler
  15. Compiler Commands and Switches
  16. Compiler Error Messages
  17. :Introduction to the Microsoft BASIC Interpreter
  18.  
  19.      Thi≤á HEL╨ Filσ i≤ deriveΣ froφ thσ "Microsof⌠ BASI├ Referencσá Book"¼ ì
  20. anΣá i⌠á i≤ divideΣ int∩ tw∩ part≤ -- onσ coverinτ thσ Interprete≥ anΣá thσ ì
  21. othe≥á coverinτ thσ Compiler«á  Thesσ program≤ proces≤ program≤ writteεá iε ì
  22. almos⌠á exactl∙á thσá samσ languagσ -- Microsof⌠á BASIC╗á therσá arσá mino≥ ì
  23. difference≤ betweeε thσ two¼á however¼á anΣ thesσ arσ discusseΣ iε thσ filσ ì
  24. under the Compiler Introduction.
  25.  
  26.      The MBASIC (Microsoft BASIC) Interpreter is invoked as follows --
  27.  
  28.           MBASIC [<filename>][/F:<# files>][/M:<memory loc>]
  29.  
  30. Iµá <filename╛ i≤ present¼á MBASI├ proceed≤ a≤ iµ ß RU╬ <filename╛á commanΣ ì
  31. werσ typeΣ afte≥ initializatioε i≤ complete«á  ┴ defaul⌠ extensioε oµá .BA╙ ì
  32. i≤á assumed«á  Iµ /F:<ú files╛ i≤ present¼á i⌠ set≤ thσ numbe≥ oµ disδ datß ì
  33. file≤á tha⌠ ma∙ bσ opeε a⌠ an∙ onσ timσ durinτ thσ executioε oµ ßá program«  ì
  34. Thσá defaul⌠á herσá i≤ 3«á  Thσ /M:<memor∙ loc╛á set≤á thσá highes⌠á memor∙ ì
  35. location≤ tha⌠ wil∞ bσ useΣ b∙ MBASIC«á  Al∞ memor∙ t∩ thσ star⌠ oµ FDO╙ i≤ ì
  36. used by default.
  37. :Special Characters
  38. ^A        Enters Edit Mode on line being typed or last line typed
  39. ^C        Interrupts program execution and returns to MBASIC
  40. ^G        Rings <BELL> at terminal
  41. ^H        Deletes last char typed
  42. ^I        Tab (every 8)
  43. ^O        Halts/resumes program output
  44. ^R        Retypes the line currently being typed
  45. ^S        Suspends program execution
  46. ^Q        Resumes execution after ^S
  47. ^U,^X     Deletes line being typed
  48. <CR>      Ends every line being typed in
  49. <LF>      Breaks a logical line into physical lines
  50. <DEL>     Deletes last char typed
  51. <ESC>     Escapes Edit Mode Subcommands
  52. .         Current line for EDIT, RENUM, DELETE, LIST, LLIST commands
  53. &O,&      Prefix for Octal Constant
  54. &H        Prefix for Hex Constant
  55.  :        Separates statements typed on the same line
  56.  ?        Equivalent to PRINT statement
  57. è:Variable Type Declaration Characters
  58.  
  59. $    String              0 to 255 chars
  60.  
  61. %    Integer             -32768 to 32767
  62.  
  63. !    Single Precision    7.1 digit floating point
  64.  
  65. #    Double Precision    17.8 digit floating point
  66. :Commands
  67.  
  68. Command   Syntax                        Function
  69. AUTO      AUTO [line][,inc]             Generate line numbers
  70. CLEA╥     CLEA╥ [,[exp1][,exp2]▌        Clea≥ prograφ variables╗á Exp▒ set≤ ì
  71.                                         enΣá oµ memor∙ anΣ Exp▓ set≤ amoun⌠ ì
  72.                                         of stack space
  73. CONT      CONT                          Continue program execution
  74. DELETE    DELETE [[start][-[end]]]      Delete program lines
  75. EDIT      EDIT line                     Edit a program line
  76.  
  77. FILES     FILES [filename]              Directory
  78. LIST      LIST [line[-[line]]]          List program line(s)
  79. LLIST     LLIST [line[-[line]]]         List program line(s) on printer
  80. LOAD      LOAD filename[,R]             Load program; ,R means RUN
  81. MERGE     MERGE filename                Merge prog on disk with that in mem
  82.  
  83. NAME      NAME old AS new               Change the name of a disk file
  84. NEW       NEW                           Delete current prog and vars
  85. NULL      NULL exp                      Set num of <NULL>s after each line
  86. RENUM     RENUM [[new][,[old][,inc]]]   Renumber program lines
  87. RESET     RESET                         Init CP/M; use after disk change
  88.  
  89. Command   Syntax                        Function
  90. RUN       RUN [line number]             Run a prog (from a particular line)
  91.           RUN filename[,R]              Run a prog on disk
  92. SAV┼      SAV┼ filename[,┴ o≥ ,P▌       Savσ proτ ont∩ disk╗á ,┴ save≤ proτ ì
  93.                                         in ASCII and ,P protects file
  94. SYSTEM    SYSTEM                        Return to CP/M
  95. TROFF     TROFF                         Turn trace off
  96. TRON      TRON                          Turn trace on
  97. WIDT╚     WIDT╚ [LPRINT▌ ex≡            Se⌠ terφ o≥ printe≥ carriagσ width╗ ì
  98.                                         default is 80 (term) and 132 (prin)
  99. :Edit Mode Subcommands
  100. A         Abort -- restore original line and restart Edit
  101. nCc       Change n characters
  102. nD        Delete n characters
  103. E         End edit and save changes; don't type rest of line
  104. Hstr<ESC> Delete rest of line and insert string
  105. Istr<ESC> Insert string at current pos
  106. nKc       Kill all chars up to the nth occurrance of c
  107. L         Print the rest of the line and go to the start of the line
  108. Q         Quit edit and restore original line
  109. nSc       Search for nth occurrance of c
  110. Xstr<ESC> Goto the end of the line and insert string
  111. <DEL>     Backspace over chars; in insert mode, delete chars
  112. <CR>      End edit and save changes
  113. :Program Statements (except I/O)
  114. Statement Syntax                        Function
  115. CALL      CALL variable [(arg list)]    Call assembly or FORTRAN routine
  116. CHAIN     CHAIN [MERGE] filename [,[line exp][,ALL][,DELETE range]]
  117.                Cal∞á ß prograφ anΣ pas≤ variable≤ t∩ it╗á MERG┼ witΦá ASCI╔ ì
  118.                file≤ allow≤ overlays╗ star⌠ a⌠ linσ ex≡ iµ given╗ AL╠ mean≤ ì
  119.                al∞ variable≤ wil∞ bσ passeΣ (otherwisσ COMMO╬ only)╗ DELET┼ ì
  120.                allows deletion of an overlay before CHAIN is executed
  121. COMMON    COMMON list of vars           Pass vars to a CHAINed prog
  122. DEF       DEF FNx[(arg list)]=exp       Arith or String Function
  123.           DEF USRn=address              Define adr for nth assembly routine
  124.           DEFINT range(s) of letters    Define default var type INTeger
  125.           DEFSNG "        "   "         "         "     "   "   Single
  126.           DEFDBL "        "   "         "         "     "   "   Double
  127.           DEFSTR "        "   "         "         "     "   "   String
  128. DIM       DIM list of subscripted vars  Allocate arrays
  129.  
  130. END       END                           Stop prog and close files
  131. ERASE     ERASE var [,var ... ]         Release space and var names
  132. ERROR     ERROR code                    Generate error code/message
  133. FOR       FOR var=exp TO exp [STEP exp] FOR loop
  134.  
  135.  
  136. Statement Syntax                        Function
  137. GOSUB     GOSUB line number             Call BASIC subroutine
  138. GOTO      GOTO line number              Branch to specified line
  139. IF/GOTO   IF exp GOTO line [ELSE stmt ... ]
  140.                                         IF exp <> 0 then GOTO
  141. IF/THEN   IF exp THEN stmt[:stmt] [ELSE stmt ... ]
  142.                                         IF exp <> 0 then ... else ...
  143. LET       [LET] var=exp                 Assignment
  144.  
  145. MIDñá     MID$(string,n[,m])=string▓á   Replacσ  ß  portioε oµ strinτá witΦ ì
  146.                                         string2; start at pos n for m chars
  147. NEXT      NEXT var[,var ... ]           End FOR
  148. ON ERROR  ON ERROR GOTO line            Error trap subroutine
  149.   GOTO
  150. ON/GOSUB  ON exp GOSUB line[,line]      Computed GOSUB
  151. ON/GOTO   ON exp GOTO line[,line]       Computed GOTO
  152.  
  153.  
  154. Statement Syntax                        Function
  155. OPTION    OPTION BASE n                 Min val for subscripts (n=0,1)
  156.   BASE
  157. OUT       OUT port,byte                 Output byte to port
  158. POKE      POKE address,byte             Memory put
  159. RANDOMIZE RANDOMIZE [exp]               Reseed random number generator
  160. REM       REM any text                  Remark -- comment
  161.  
  162. RESTORE   RESTORE [line]                Reset DATA pointer
  163. RESUME    RESUME or RESUME 0            Return from ON ERROR GOTO
  164.           RESUME NEXT                   Return to stmt after error line
  165.           RESUME line                   Return to specified line
  166. RETURN    RETURN                        Return from subroutine
  167. STOP      STOP                          Stop prog and print BREAK msg
  168. WAI╘      WAI╘ prot,mask[,select▌       Pausσ unti∞ inpu⌠ por⌠ [XO╥ select▌ ì
  169.                                         AND mask <> 0
  170.  
  171. WHILE/    WHILE exp stmts ... WEND      Execute stmts as long as exp is T
  172.   WEND
  173. :PRINT USING Format Field Specifiers
  174. Numeric Specifiers
  175.  
  176. Specifier Digits    Chars     Definition
  177.   #         1         1       Numeric field
  178.   .         0         1       Decimal point
  179.   +         0         1       Print leading or trailing sign
  180.   -         0         1       Trailing sign (- if neg, <sp> otherwise)
  181.   **        2         2       Leading asterisk
  182.  
  183.   $ñá       ▒á        ▓       Floatinτ  dolla≥  sign╗á placeΣ iεá fron⌠á oµ 
  184.                               leading digit
  185.   **$       2         3       Asterisk fill and floating dollar sign
  186.   ,         1         1       Use comma every three digits
  187.   ^^^^      0         4       Exponential format
  188.   _         0         1       Next character is literal
  189.  
  190. String Specifiers
  191.  
  192. Specifier                     Definition
  193.   !                           Single character
  194.   /<spaces>/                  Character field; width=2+number of <spaces>
  195.   &                           Variable length field
  196. :Input/Output Statements
  197.  
  198. Statement Syntax/Function
  199. CLOSE     CLOSE [[#]f[,[#]f ... ]]
  200.            Close disk files; if no arg, close all
  201. DATA      DATA constant list  
  202.            List data for READ statement
  203. FIELD     FIELD [#]f,n AS string var [,n AS string var ...]
  204.            Define fields in random file buffer
  205. GET       GET [#]f[,record number]
  206.            Read a record from a random disk file
  207. INPUT     INPUT [;] [prompt string;] var [,var ...]
  208.           INPUT [;] [prompt string,] var [,var ...]
  209.            ReaΣá datß froφ thσ terminal╗á leadinτ semicoloε suppresse≤ ech∩ ì
  210.            oµá <CR>/<LF╛ anΣ semicoloε afte≥ promp⌠ strinτ cause≤á questioε ì
  211.            marδá afte≥ promp⌠ whilσ commß afte≥ promp⌠ suppresse≤á questioε ì
  212.            mark
  213.  
  214. Statement Syntax/Function
  215.  
  216. KILL      KILL filename
  217.            Delete a disk file
  218. LINE      LINE INPUT [;] [prompt string;] string var
  219. INPU╘      ReaΣ aε entirσ linσ froφ terminal╗á leadinτ semicoloε suppresse≤ ì
  220.            echo of <CR>/<LF>
  221.           LINE INPUT #f,string var
  222.            Read an entire line from a disk file
  223. LSET      LSET field var=string exp
  224.            Storσ datß iε randoφ filσ buffe≥ left-justifieΣ o≥á left-justif∙ ì
  225.            a non-disk string in a given field
  226. OPEN      OPEN mode,[#] f,filename
  227.            Open a disk file; mode must be one of --
  228.                I = sequential input file
  229.                O = sequential output file
  230.                R = random input/output file
  231. Statement Syntax/Function
  232.  
  233. PRINT     PRINT [USING format string;] exp [,exp ...]
  234.            Print data at the terminal using the format specified
  235.           PRINT #f, [USING format string;] exp [,exp ...]
  236.            Write data to a disk file
  237.           LPRINT [USING format string;] var [,var ...]
  238.            Write data to a line printer
  239. PUT       PUT [#] f [,record number]
  240.            Write data from a random buffer to a data file
  241. READ      READ var [,var ...]
  242.            Read data from a DATA statement into the specified vars
  243. RSET      RSET field var = string exp
  244.            Storσá datßá iεá ß randoφ filσ buffe≥ righ⌠ justifieΣá o≥á righ⌠ ì
  245.            justify a non-disk string in a given field
  246. WRITE     WRITE [list of exps]
  247.            Output data to the terminal
  248.           WRITE #f, list of exps
  249.            Output data to a sequential file or a random field buffer
  250. :Operators
  251.  
  252. Symbol    Function
  253.  =        Assignment or equality test
  254.  -        Negation or subtraction
  255.  +        Addition or string concatenation
  256.  *        Multiplication
  257.  /        Division (floating point result)
  258.  ^        Exponentiation
  259.  \        Integer division (integer result)
  260. MOD       Integer modulus (integer result)
  261. NOT       One's complement (integer)
  262. AND       Bitwise AND (integer)
  263. OR        Bitwise OR (integer)
  264. XOR       Bitwise exclusive OR (integer)
  265. EQV       Bitwise equivalence (integer)
  266. IMP       Bitwise implication (integer)
  267. =,>,<,    Relational tests (TRUE=-1, FALSE=0)
  268.   <=,=<,
  269.   >=,=>,
  270.   <>
  271.  
  272. The precedence of operators is --
  273.  1.  Expressions in parentheses     8.  Relational Operators
  274.  2.  Exponentiation                 9.  NOT
  275.  3.  Negation (Unary -)            10.  AND
  276.  4.  *,/                           11.  OR
  277.  5.  \                             12.  XOR
  278.  6.  MOD                           13.  IMP
  279.  7.  +,-                           14.  EQV
  280. :Arithmetic Functions
  281. Function       Action
  282.  
  283. ABS(exp)       Absolute value of expression
  284. ATN(exp)       Arctangent of expression (in radians)
  285. CDBL(exp)      Convert the expression to a double precision number
  286. CINT(exp)      Convert the expression to an integer
  287. COS(exp)       Cosine of the expression (in radians)
  288.  
  289. CSNG(exp)      Convert the expression to a single precision number
  290. EXP(exp)       Raises the constant E to the power of the expression
  291. FIX(exp)       Returns truncated integer of expression
  292. FRE(exp)       Gives memory free space not used by MBASIC
  293. INT(exp)       Evaluates the expression for the largest integer
  294.  
  295. LOG(exp)       Gives the natural log of the expression
  296. RND[(exp)]     Generates a random number
  297.                  exp <0 seeds new sequence
  298.                  exp =0 returns previous number
  299.                  exp >0 or omitted returns new random number
  300.  
  301. Function       Action
  302.  
  303. SGN(exp)       1 if exp >0
  304.                0 if exp =0
  305.                -1 if exp <0
  306. SIN(exp)       Sine of the expression (in radians)
  307. SQR(exp)       Square root of expression
  308. TAN(exp)       Tangent of the expression (in radians)
  309. :String Functions
  310. Function       Action
  311.  
  312. ASC(str)       Returns ASCII value of first char in string
  313. CHR$(exp)      Returns a 1-char string whose char has ASCII code of exp
  314. FRE(str)       Returns remaining memory free space
  315. HEX$(exp)      Converts a number to a hexadecimal string
  316. INPUT$(length [,[#]f])
  317.                Return≤ ß strinτ oµ lengtΦ char≤ reaΣ froφ consolσ o≥ froφ ß ì
  318.                disk file; characters are not echoed
  319.  
  320. INSTR([exp,]str1,str2)
  321.                Return≤á thσ firs⌠ positioε oµ thσ firs⌠ occurrencσ oµá str▓ ì
  322.                in str1 starting at position exp
  323. LEFT$(str,len) Returns leftmost length chars of the string expression
  324. LEN(str)       Returns the length of a string
  325. MID$(string,start[,length])
  326.                Return≤ char≤ froφ thσ middlσ oµ thσ strinτ startinτ a⌠á thσ ì
  327.                positioεá specifieΣá t∩ thσ enΣ oµ thσ strinτ o≥ fo≥á lengtΦ ì
  328.                characters
  329.  
  330. Function       Action
  331.  
  332. OCT$(exp)      Converts an expression to an Octal string
  333. RIGHT$(str,len)
  334.                Returns rightmost length chars of the string expression
  335. SPACE$(exp)    Returns a string of exp spaces
  336. STR$(exp)      Converts a numeric expression to a string
  337. STRING$(length,str)
  338.                Return≤á ß strinτ lengtΦ lonτ containinτ thσ firs⌠á cha≥á oµ ì
  339.                the str
  340. STRING$(length,exp)
  341.                Return≤á ß strinτ lengtΦ lonτ containinτ char≤ witΦá numeriπ ì
  342.                value exp
  343. VAL(str⌐á      Convert≤á thσá strinτá representatioε oµ  ßá numbe≥á t∩á it≤ ì
  344.                numeric value
  345. :I/O and Special Functions
  346.  
  347. Function       Action
  348. CVI(str)       Converts a 2-char string to an integer
  349. CVS(str)       Converts a 4-char string to a single precision number
  350. CVD(str)       Converts an 8-char string to a double precision number
  351.  
  352. EOF(f)         Returns TRUE (-1) if file is positioned at its end
  353. ERL            Error Line Number
  354. ERR            Error Code Number
  355. INP(port)      Inputs a byte from an input port
  356. LOC(f⌐         Return≤ nex⌠ recorΣ numbe≥ t∩ reaΣ o≥ writσ (randoφ file⌐ o≥ ì
  357.                number of sectors read or written (sequential file)
  358. LPOS(n)        Returns carriage position of line printer (n is dummy)
  359.  
  360. MKI$(value)    Converts an integer to a 2-char string
  361. MKS$(value)    Converts a single precision values to a 4-char string
  362. MKD$(value)    Converts a double precision value to an 8-char string
  363.  
  364.  
  365. Function       Action
  366.  
  367. PEEK(exp)      Reads a byte from memory location specified by exp
  368. POS(n)         Returns carriage position of terminal (n is dummy)
  369.  
  370. SPC(exp)       Used in PRINT statements to print spaces
  371. TAB(exp)       Used in PRINT statements to tab to specified position
  372.  
  373. USR[n](arg)    Calls the user's machine language subroutine with the arg
  374.  
  375. VARPTR(var⌐    Return≤ addres≤ oµ va≥ iε memor∙ o≥ zer∩ iµ va≥ ha≤ no⌠ beeε ì
  376.                assigned a value
  377. VARPTR(#f⌐     Return≤ thσ addres≤ oµ thσ disδ I/╧ buffe≥ assigneΣ t∩á filσ ì
  378.                number
  379. :Interpreter Error Codes
  380. Code Error                         Code Error
  381.   1  NEXT without FOR               14  Out of string space
  382.   2  Syntax error                   15  String too long
  383.   3  RETURN without GOSUB           16  String formula too complex
  384.   4  Out of data                    17  Can't continue
  385.   5  Illegal function call          18  Undefined user function
  386.   6  Overflow                       19  No RESUME
  387.   7  Out of memory                  20  RESUME without error
  388.   8  Undefined line                 21  Unprintable error
  389.   9  Subscript out of range         22  Missing operand
  390.  10  Redimensioned array            23  Line buffer overflow
  391.  11  Division by zero               26  FOR without NEXT
  392.  12  Illegal direct                 29  WHILE without WEND
  393.  13  Type mismatch                  30  WEND without WHILE
  394.  
  395.  
  396. Disk Errors --
  397. Code Error                         Code Error
  398.  
  399.  50  Field overflow                 58  File already exists
  400.  51  Internal error                 61  Disk full
  401.  52  Bad file number                62  Input past end
  402.  53  File not found                 63  Bad record number
  403.  54  Bad file mode                  64  Bad file name
  404.  55  File already open              66  Direct statement in file
  405.  57  Disk I/O error                 67  Too many files
  406. :Introduction to the Microsoft BASIC Compiler
  407.  
  408.      Thσ followinτ direc⌠ modσ command≤ arσ NO╘ implementeΣ oε thσ compile≥ ì
  409. and will generate an error message --
  410.  
  411.           AUTO      CLEAR     CLOAD
  412.           CSAVE     CONT      DELETE
  413.           EDIT      LIST      LLIST
  414.           RENUM     COMMON    SAVE
  415.           LOAD      MERGE     NEW
  416.           ERASE
  417.  
  418.      Thσá followinτ statement≤ arσ useΣ differentl∙ witΦ thσ compile≥á thaε ì
  419. with the interpreter (refer to the manual for details) --
  420.  
  421.           CALL      DEFINT    DEFSNG
  422.           DEFDBL    DEFSTR    DIM
  423.           ERASE     END       ON ERROR GOTO
  424.           RESUME    STOP      TRON
  425.           TROFF     USRn
  426. :BASIC Compiler Commands and Switches
  427.  
  428.      The compiler is invoked by the BASCOM command; it may be called by --
  429.  
  430.           BASCOM
  431. or
  432.           BASCOM command line
  433.  
  434. where "command line" is --
  435.  
  436. [dev:][obj file][,[dev:][lst file]]=[dev:]source file[/switch ...]
  437.  
  438.      Iµá jus⌠ BASCO═ i≤ used¼á thσ use≥ wil∞ bσ prompteΣ witΦ aεá asterisk¼ ì
  439. after which he should enter the command line.
  440.  
  441. Switches --
  442.  
  443. /E   Use this switch if ON ERROR GOTO with RESUME <line number> is used
  444.  
  445. /╪   Usσ thi≤ switcΦ iµ O╬ ERRO╥ GOT╧ witΦ RESUME¼ RESUM┼ 0¼ o≥ RESUM┼ NEX╘ ì
  446.      is used
  447.  
  448. /N   Do not list generated object code
  449.  
  450. /D   Generate debug/checking code at runtime
  451.  
  452. /S   Write quoted strings of more than 4 chars as they are encountered
  453.  
  454. /4   Recognize Microsoft 4.51 BASIC Interpreter conventions
  455.  
  456. /├á  Rela°á linσá numberinτá  constraints╗áá line≤á neeΣá no⌠á bσá numbereΣ ì
  457.      sequentially; /4 and /C may not be used together
  458.  
  459. /Z   Use Z80 opcodes
  460. :BASIC Compiler Error Messages
  461. Compile-Time Fatal Errors
  462.  
  463.      SN   Syntax error             OM   Out of memory
  464.      SQ   Sequence error           TM   Type mismatch
  465.      TC   Too complex              BS   Bad subscript
  466.      LL   Line too long            UC   Unrecognizable command
  467.      OV   Math overflow            /0   Division by zero
  468.  
  469.      DD   Array already dim'ed     FN   FOR/NEXT error
  470.      FD   Function already def     UF   Function not defined
  471.      WE   WHILE/WEND error         /E   Missing /E switch
  472.                                    /X   Missing /X switch
  473.  
  474. Compile-Time Warning Errors
  475.  
  476.      ND   Array not dimensioned    SI   Statement ignored
  477.  
  478.  
  479. Run-Time Error Messages
  480.  
  481.       2   Syntax error             52   Bad file number
  482.       3   RETURN without GOSUB     53   File not found
  483.       4   Out of data              54   Bad file mode
  484.       5   Illegal function call    55   File already open
  485.       6   Floating/Integer ovfl    57   Disk I/O error
  486.  
  487.       9   Subscript out of range   58   File already exists
  488.      11   Division by zero         61   Disk full
  489.      14   Out of string space      62   Input past end
  490.      20   RESUME without error     63   Bad record number
  491.      21   Unprintable error        64   Bad filename
  492.  
  493.      50   Field overflow           67   Too many files
  494.      51   Internal error
  495.