Intel 9800758-02 manual Entering and Editing Programs

Page 23

CHAPTER 3 ENTERING AND EDITING PROGRAMS

With BASIC-80, you can create new programs by entering statements line by line, or you can access saved programs from disk storage. If you're using ISIS-II BASIC-80, you can use the ISIS-II BASIC-80 Text Editor to alter new or saved instruction lines. RMX/80 BASIC-80 does not have a Text Editor.

The following topics show how to use BASIC-80 programming features and the ISIS-II BASIC-80 Text Editor to aid program development.

Entering Instruction Lines

When you invoke BASIC without specifying a file name, there is no program to run. The system is ready to accept commands or program statements. A statement con- sists of a line number from 0 to 65529 followed by the language elements (program statement, constants, variables, operators, functions, etc.). If you type a line number alone after a line with that number has been entered with text, that line is deleted.

You can enter statements in any order. To review the statements in a program, use the LIST command. It displays the statement in numeric order.

You can have BASIC-80 provide line numbers, starting at a given number, with a given increment, by using the AUTO command. After you enter the AUTO com- mand, BASIC displays the line number and waits for you to enter the statement. When you end the statement with a carriage return (CR), it prints the next line number and again waits. To stop the automatic line numbers, enter a Control-C.

If AUTO generates a line number that already exists in the program, it prints an asterisk (*) after the line number. If you enter a statement, what you enter replaces the existing statement. If you enter a Control-C, the existing line is unchanged.

You can use Control-I as a tab key if you want to format your statements. The width of each line is divided into 8-character-wide columns. Each time you press Control-I, the cursor or print head moves to the beginning of the next column.

BASIC assumes a width of 72 characters. You can change the width with the WIDTH command.

To enter more than one statement per line, separate each statement with a colon (:). If you want to format the program so that additional statements appear on separate lines (but are still part of the same numbered program statement), use the Line Feed (LF) key to move to the beginning of the next display line. You can do this any number of times, up to the 255-character line-length limit; the program statement doesn't end until you enter CR.

To put a comment in a BASIC-80 'program, enter REM after the line number. BASIC-80 doesn't try to execute such lines, but they become part of the program.

Correcting Entry Errors

If you make an error while entering a line, you can correct it by using the RUBOUT key to erase characters (as long as you haven't entered the line into memory by pressing CR).

3-1

Image 23
Contents BASIC-SO Reference Manual A108/0979/7500 FL Preface Page Contents Illustrations Invoking BASIC-80 Chapter Introduction to BASIC-80Filename ExamplesIntroduction to BASIC-80 Basic filename MEMTOPaddressDeleting a File Listing the Directory of a DiskRenaming a File Changing File AttributesSave LP ,A You can now run, list, or edit the programStatements CommandsBASIC-80 Statements BASIC-80 Commands ContdBASIC-80 Functions BASIC-80 Statements ContdBASIC-80 Functions Contd Functions Representing DataHexadecimal Integer Constants ConstantsInteger Constants Decimal Integer ConstantsDouble-Precision Floating-Point Constants Octal Integer ConstantsSingle-Precision Floating-Point Constants $ = Enter next data string String ConstantsString Variables This is a string constantYI,1 L4! = Csng l4String Arrays BASIC-SO Operators in Order of Precedence Contd Arithmetic OperatorsString Expressions Logical OperatorsString Operator Numeric ExpressionsEntering and Editing Programs 30 A--=8xx*522537 Control-R a = 8*37 30 A=8*5230 A=8 30 A=8*52 30 A=8*37If AB then SubcommandCommand 3D press 3, then D results Integer DIf AB then 120 Else Null SET At this point, the other editing subcommands may be used Syntax of the X subcommand isPrint Undefined SET. Enter a L Print Undefined SET The E subcommand is enteredInteger C character character Move the cursor to PRINT. Enter 2C RE LOverflow, Underflow, and Divide-by-Zero BASIC-80 Error MessagesSyntax Error Messages Error Trapping Trace Facility If line 40 is replaced with Error SimulationError Handling Restarting Program ExecutionOpen 1,#1,F1DATES Opening a Sequential FileIf executed four times, it would read all eight values Refer to for further details of Print UsingWriting to a Sequential File Reading from a Sequential FileValue of R$ would be Closing a Sequential FileField #3, 20 AS N$ BuffersDefining a Random 1/0 Field-FIELD Field #3, 20 AS N$, 9 AS SS$ Disk File Input/OutputTo read the next record Opening and Closing a Random Disk FileReading from a Random 1/0 File Any of the parameters can be variablesDouble-precision value Writing to a Random 1/0 FileInteger Single-precision valueMKI$ Clear expression,address Attrib Fdrive numberfilename, W1Attrib Fdrive numberfilename, WO Auto first lineJ, incrementClose Commands and StatementsRules for function name are the same as for variable name DEF FNXDefsng Defdbl Defstr Defint Delete DIMEND ErrorDIR EditFOR-NEXT-STEP Error expressionExit FieldGET I file number ,record number GETGosub For variable=expression to expression Step expressionGoto IF-THEN-ELSEInput List KillLET Line InputLoad LSET, RsetNEW Merge9 16 NextOpen On ... GosubOn ... Goto Poke Option BaseOUT String Fields Print UsingPrint If X$=SEVEN and Y$=EIGHT, the results of line 40 would be Numeric fieldsPUT PrunRead RandomizeREM Return Resume60 END SaveRUN line numberlstring expression ,F Line number RUN filename? 5,8,2 TRON, TroffWidth WaitATN ABSFunctions CHR$Cint AO/o = CsngCVI CVS 10 A# = 1.00/3.00EOF DskfOk· FIXInputs HexsINP LEFT$ INTInstr LOG LENLOC LOFOCT$ MID$MKI$ MKS$ MKD$ RIGHT$ string,integer RightsPeek expression POS integer10 a =1 SGNSIN SpacesSQRexpression SPCSPC integer If A$ = 2 then Print Correct Else GotoTAN expression STR$ expressionTAB expression 60 AO/o = Here is an example of how the USRn statement is usedTable A-I. BASIC-80 Error Codes Appendix a BASIC-SO Error CodesTable A-I. BASIC-SO Error Codes Contd Appendix B BASIC-SO Reserved Words Page To resume program execution after it is stopped by To halt program execution and return to commandLevel To tab across the linePage Appendix D Ascii Codes Table D-l. Ascii Code ListBEL Table D-2. Ascii Code DefinitionAppendixe Calling Subroutines Figure B-1. Internal Representation of Numbers and Strings RESULT=USR%1VARPTRA, VARPTRB, VARPTRC» PRINTA+B+C= Result Some Real ExamplesFigure E-2 /8085 Assembly Language Program Figure E-3. PL/M-80 Program Appendix F RMX/SO BASIC-SO ISIS-II BASIC-SO Initializing the Predefined RMX/SO BASIC-SO ConfigurationOOOOH-OFFFH Table F-l. Sample Configuration Jumper WiringBASIC-80 Executable Files Generating Boot-Loaded and PROM-Based VersionsBASIC-80 Source Files BASIC-80 Object FilesGenerating a Boot-Loaded RMX/80 BASIC-80 This option enables your user-written I/O drivers if you That are not boot loadedThis option is used to allocate memory. It is 1 if the boot Setting baud rates, refer to the RMX/SO Users GuideISBC 80/20-4 Generating a PROM-Based RMX/80 BASIC-80 Prom F1 RMX820.L1BSTART, & FOBASCM.OBJ,& FORMXBAS.LlB F1 DFSDIR. L1BDIRECTORY ,RENAM E,& F1 MTI810.L1B ISBC SO/10 System Clock Configuring DFS on an iSBC 80/10Adding BASIC-SO to an Existing RMX/SO Configuration Configuration RequirementsPublic Variables Open 0,#1, L1LlST Adding User-Written I/O Drivers to RMX/SO BASIC-SOFigure F-S. Sample User-Written 1/0 Driver Routine Burning a BASIC-80 Program Into Prom Altering BASIC-80 WorkspaceBaprom F1HEATER.BAS Page Index Ase BASIC-80 RIGHT$,7-1O Request for Readerscomments 111111