USING THE BASIC INTERPRETER/COMPILER BASIC can be used in either of two ways 1. CALCULATOR or IMMEDIATE mode. 2 To RUN BASIC programs Further HELP with BASIC may be obtained by typing HELP BASIC keywords where 'keywords' are any of the following. CALLS BASIC callable functions ENTERING Invoking BASIC FILES Using files from BASIC FUNCTIONS Standard BASIC functions GRAPH Producing graphs interactively with GRAPH IMMEDIATE_MODE Using BASIC as a calculator LEAVING Loging off from BASIC PLOT Producing graphic plots from basic PROGRAM_MODE Writing and executing BASIC programs. VARIABLES BASIC variable types and their uses 2 FILES @LB1:[1,2]BASFILES.HLP 2 VARIABLES @LB1:[1,2]BASVARBL.HLP 2 FUNCTIONS @LB1:[1,2]BASFUNCTS 2 PLOT @BASPLOT.HLP 2 GRAPH @BASGRAPH.HLP 2 IMMEDIATE_MODE Most BASIC statements can be entered at the terminal without a line number. ie. A=4 \PRINT SQR(LOG(4))*PI/A Complicated equations can be entered and the results can be printed out on demand, much the way a calculator does. By including the calculation within a 1 line FOR/NEXT loop, it is possible to calculate and print out an entire table of results. The power of BASIC is greatly enhanced when it is used to run user written programs.(HELP PROGRAM MODE). 2 PROGRAM_MODE BASIC can be used as a simple and very powerful programing language. Each BASIC statement must have a unique LINE NUMBER. The commands/statements are very simple, ie MATHEMATICAL FUNCTIONS ARITHMETIC ASSIGNMENTS BRANCHING(GOTO, GOSUB,RETRUN) CONDITIONALS( IF....THEN) LOOPING( FOR / NEXT) INPUT/OUTPUT TO TERMINAL AND DISK FILES The USER should get a copy of the BASIC LANGUAGE REFERENCE MANUAL and the BASIC USER'S GUIDE and spend a few hours reading them. They are short manuals, and a few hours of study manuals, and a few hours of study will enable anyone to write useful programs in basic. ****** WARNING ****** ****** Until further notice the user is advised **** ****** not to use the BASIC COMPILE command. **** 2 ENTERING To enter BASIC type BASIC after loging on the system. BASIC will prompt with READY every time it is ready to accept a command. Initially BASIC is in its EDIT mode. Any line typed in preceded by a number is entered as program text. Any line without a initial number is interpreted as a command. Once a number of program lines have been writen, they can be 1. LISTED LIST nnn-mmm 2. SAVED SAVE filespecifier 3. REPLACED REPLACE filspecifier 4. RUN RUN filespecifier A SAVED program can be recalled into memory by the OLD command OLD filespecifier or RUN with the RUN command RUN filespecifier. 2 LEAVING To exit BASIC the user must type BYE . However the user when he exits BASIC is still logged onto the system. He user type BYE again to LOGOFF. 2 CALLS BASIC CALLABLE FUNCTIONS Basic provides a means of interfacing to and using Assembly Language Routines from within a BASIC SOURCE PROGRAM. This is accom- plished via the CALL statement. the syntax of the CALL statement is, CALL "ABCDEF" (P1,P2,P3,...) where ABCDEF is the function name (1 to 6 characters long) , and must be in quotes. The parameters P1, ... etc, are optional. Their use depends on what parameters need be passed from BASIC to the Assembly Language Routine and back again. However, for a given callable function, the parameters, their order, and their variable type must be exactly as they are supposed to be(otherwise your BASIC program might CRASH). The following callable functions are now available; PAGE, COPY, WAIT, WAITFR, DATEL, DIOPR, DIOPW and SPAWN. Specific HELP may be requested by typing HELP BASIC CALL keyword with one of the functions as a keyword. 3 SPAWN SPAWN (A$,LEN(A$),I%) SPAWN (A$,J%,I%) SPAWN ("STRING",J%,I%) Where A$ is a command to SPAWN to MCR..., J% is the length of the command line, and I% is the exit status returned by the program. By using the spawn call, BASIC can start up other tasks, pass command files, etc. 3 WAIT WAIT (x%,y%) Causes the BASIC program to suspend execution for a count of x% time units, where the time units are determined by y%. If y%=2, the time units are seconds. If y% = 1 the time units are ticks(100 ticks/second). Both the variables x% and y% must be BASIC integer variables. 3 PAGE PAGE Erases the screen of a 4014 or 4006 terminal 3 COPY COPY Makes a hard copy of the 4014 or 4006 screen 3 WAITFR WAITFR (n%) Waits for EFN n% to be set. When EFN n% is set it continues to the next executable BASIC statement after first clearing the event flag number. Allow- able event flages are the global flags(33.-64.) and the group global event flags(65.-96.). 3 DATEL DATEL (n%,x%) Acquires the voltage on DATEL channel n%, and places the value in x%. The voltage is in terms of ADC counts(-2048-+2047 counts over a -5 to +5 volt range.). The variables n% and x% must be BASIC integers(for example, a string variable in the place of x% will crash your program). 3 DIOPR DIOPR (n%,A$,l%) Reads the data present on DIOP channel n% into the string variable A$, whose length is l%. On input l% must equal 6. The string variable, A$, must be predefined to be 6 characters long. ie A$=" " (6 spaces between quotes) Trying to read an output channel will produce a DIOP OFFLINE message. The data read into A$ must be interpreted as an octal constant. 3 DIOPW DIOPW (n%,A$,l%) Write the octal value in A$, with a length l% out onto channel n% of the DIOP. Only octal constants are allowed with lengths, l%, <=6. Writing to a read only channel produces a device offline message.