Intel 9800758-02 manual BASIC-80 Statements Contd, BASIC-80 Functions

Page 13

BASIC-SO

Language Elements

Table 2-2. BASIC-80 Statements (Cont'd.)

Statement

 

 

Description

 

 

Example

 

 

 

 

 

 

 

LINE INPUT

 

Enters entire line from a disk file.

 

LINE INPUT A$

lSET

 

left justifies text in random file buffer.

 

LSET A$ = B$

ON ERROR

 

Traps errors by branching to

 

ON ERROR GOTO 900

 

 

 

error-resolving routines.

 

 

 

ON-GOTO

 

Transfers execution to Xth line number

 

ON X GOTO 460, 480

 

 

 

for expression X.

 

 

 

ON-GOSUB

 

Transfers execution to Xth subroutine

 

ON X GOSUB 220, 240, 260

 

 

 

for expression X.

 

 

 

OPEN

 

Creates sequential or random disk files.

 

OPEN "R", 1, ":F1:TRACE"

OPTION BASE

 

Starts arrays at 0 or 1.

 

OPTION BASEO

OUT

 

Writes values to I/O ports.

 

OUTOOFO,12

POKE

 

Writes byte to memory location.

 

POKE OA077, 72

PRINT

 

1.

Displays text on terminal.

 

PRINT A, B, C

 

 

 

2.

Stores data in sequential

 

PRINT #4, A$, B$, C$

 

 

 

 

disk file.

 

 

 

PRINT USING

 

Displays text according to given format.

 

PRINT USING "$$##,##;

 

 

 

 

 

 

125.38,21.14.6.10

PUT

 

Stores data in random disk file.

 

PUT #3, A$, B$ C$

RANDOMIZE

 

Initializes random number generator.

 

RANDOMIZE

READ

 

Assigns values from DATA statements

 

READ A, K1, l%, Z

 

 

 

to program variables.

 

 

 

REM

 

Comments in program text

 

10 REM THIS IS

 

 

 

 

 

 

20 REM A REMARK

RESTORE

 

Resets pOinter for reading DATA

 

RESTORE

 

 

 

statements.

 

 

 

RESUME

 

Restarts execution after errors.

 

RESUME

RETURN

 

Transfers control back to statement

 

RETURN

 

 

 

following last GOSUB.

 

 

 

RSET

 

Right justifies text in random file buffer.

 

RSET l$ = MK$

STOP

 

Halts program execution.

 

STOP

SWAP

 

Exchanges values of two variables of

 

SWAP A1#, B2#

 

 

 

similar type.

 

 

 

WAIT

 

Halts execution until port changes.

 

WAIT 1, 04H, OAH

 

 

 

 

 

 

 

 

 

 

 

Table 2-3. BASIC-80 Functions

 

 

 

 

 

 

 

 

Functions

 

 

 

Returns

 

Example

 

 

 

 

 

ABS

 

Absolute value.

 

ABS(X)

ASC

 

ASCII code of the first character of the

ASC(A$)

 

 

specified string.

 

 

ATN

 

Arctangent, in radians.

 

ATN(X)

COSl

 

Double-precision floating-point value.

 

CDSl (X)

CHR$

 

Character corresponding to the specified ASCII

CHR$ (X)

 

 

code.

 

 

 

 

CINT

 

Integer value

 

CINT(X)

COS

 

Cosine, in radians

 

COS (X)

CSNG

 

Single-precision floating-point value.

 

CSNG (X)

CVD

 

Double-precision floating-point value equal to

 

CVD(X#)

 

 

8-byte string A$

 

 

CVI

 

Integer value equal to 2-byte string A$

 

CVI (X%)

CVS

 

Single-precision floating-point value equal to

 

CVS(X!)

 

 

4-byte string A$

 

 

2-3

Image 13
Contents BASIC-SO Reference Manual A108/0979/7500 FL Preface Page Contents Illustrations Invoking BASIC-80 Chapter Introduction to BASIC-80Introduction to BASIC-80 ExamplesBasic filename MEMTOPaddress FilenameRenaming a File Listing the Directory of a DiskChanging File Attributes Deleting a FileSave 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 DataInteger Constants ConstantsDecimal Integer Constants Hexadecimal Integer ConstantsSingle-Precision Floating-Point Constants Octal Integer ConstantsDouble-Precision Floating-Point Constants String Variables String ConstantsThis is a string constant $ = Enter next data stringYI,1 L4! = Csng l4String Arrays BASIC-SO Operators in Order of Precedence Contd Arithmetic OperatorsString Operator Logical OperatorsNumeric Expressions String ExpressionsEntering and Editing Programs 30 A=8 30 A=8*5230 A=8*52 30 A=8*37 30 A--=8xx*522537 Control-R a = 8*37Command 3D press 3, then D results SubcommandInteger D If AB thenIf AB then 120 Else Null SET At this point, the other editing subcommands may be used Syntax of the X subcommand isInteger C character character Print Undefined SET The E subcommand is enteredMove the cursor to PRINT. Enter 2C RE L Print Undefined SET. Enter a LSyntax Error Messages BASIC-80 Error MessagesOverflow, Underflow, and Divide-by-Zero Error Trapping Trace Facility Error Handling Error SimulationRestarting Program Execution If line 40 is replaced withOpen 1,#1,F1DATES Opening a Sequential FileWriting to a Sequential File Refer to for further details of Print UsingReading from a Sequential File If executed four times, it would read all eight valuesValue of R$ would be Closing a Sequential FileDefining a Random 1/0 Field-FIELD BuffersField #3, 20 AS N$ Field #3, 20 AS N$, 9 AS SS$ Disk File Input/OutputReading from a Random 1/0 File Opening and Closing a Random Disk FileAny of the parameters can be variables To read the next recordInteger Writing to a Random 1/0 FileSingle-precision value Double-precision valueMKI$ Attrib Fdrive numberfilename, WO Attrib Fdrive numberfilename, W1Auto first lineJ, increment Clear expression,addressClose Commands and StatementsRules for function name are the same as for variable name DEF FNXDefsng Defdbl Defstr Defint Delete DIMDIR ErrorEdit ENDExit Error expressionField FOR-NEXT-STEPGosub GETFor variable=expression to expression Step expression GET I file number ,record numberInput IF-THEN-ELSEGoto LET KillLine Input ListLoad LSET, RsetNEW Merge9 16 NextOn ... Goto On ... GosubOpen OUT Option BasePoke Print Print UsingString Fields If X$=SEVEN and Y$=EIGHT, the results of line 40 would be Numeric fieldsPUT PrunRead RandomizeREM Return ResumeRUN line numberlstring expression ,F SaveLine number RUN filename 60 END? 5,8,2 TRON, TroffWidth WaitATN ABSCint CHR$Functions CVI CVS Csng10 A# = 1.00/3.00 AO/o =EOF DskfOk· FIXINP HexsInputs Instr INTLEFT$ LOC LENLOF LOGMKI$ MKS$ MKD$ MID$OCT$ Peek expression RightsPOS integer RIGHT$ string,integerSIN SGNSpaces 10 a =1SPC integer SPCIf A$ = 2 then Print Correct Else Goto SQRexpressionTAB expression STR$ expressionTAN 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 Level To halt program execution and return to commandTo tab across the line To resume program execution after it is stopped byPage 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 Source Files Generating Boot-Loaded and PROM-Based VersionsBASIC-80 Object Files BASIC-80 Executable FilesGenerating a Boot-Loaded RMX/80 BASIC-80 This option is used to allocate memory. It is 1 if the boot That are not boot loadedSetting baud rates, refer to the RMX/SO Users Guide This option enables your user-written I/O drivers if youISBC 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 Adding BASIC-SO to an Existing RMX/SO Configuration Configuring DFS on an iSBC 80/10Configuration Requirements ISBC SO/10 System ClockPublic 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