Module __Chapter_2

Source
Expand description

§Statements

Statements describe what the program does. The original Dartmouth BASIC was separated into a compiler and operating system with statements like GOTO and PRINT for the compiled language and commands like SAVE and LIST for controlling the system. 64K BASIC is a unique implementation where everything is compiled and executed by a virtual machine. There are no commands, everything is a statement.

Statements tend to be short and it’s common to put multiple statements on a single line. Use a colon : to separate statements. This works in both direct and indirect modes.

FOR I = 1 TO 10 : PRINT I : NEXT I

Statement words can never be used in variable names. 64K BASIC will insert spaces to help you when you accidentally include a word in a variable name.

LET BONK = 1
10 LET B ON K = 1

Statements need to be properly formatted with the information they need. Angled brackets <> are used to indicate required items. Square brackets [] are used to indicate optional items. Ellipsis ... indicate items that may repeat. Vertical bars | separate mutually exclusive options. All letters and punctuation not in brackets are required.

Modules§

CLEAR
CLEAR [...]
CLS
CLS
CONT
CONT
DATA
DATA <literal>[,<literal>...]
DEF
DEF FN<name>(<argument>[,<argument>...]) = <expression>
DEFTYPE
DEFINT/SNG/DBL/STR <range of letters>
DELETE
DELETE [<line number range>]
DIM
DIM <variable name>(<dimensions>)[,...]
END
END
ERASE
ERASE [<array variable>][,<array variable>...]
FOR
FOR <variable>=<x> TO <y> [STEP <z>]
GOSUB
GOSUB <line number>
GOTO
GOTO <line number>
IF
IF <expression> THEN <statements> [ELSE <statements>]
INPUT
INPUT [,]["<prompt string>";]<variable>[,<variable>...]
LET
[LET] <variable>=<expression>
LIST
LIST [<line number range>]
LOAD
LOAD <filename>
MID
[LET] MID$(<string>,n[,m])=<expression>
NEW
NEW
NEXT
NEXT [<variable>][,<variable>...]
ON
ON expression <GOTO|GOSUB> <line>[,<line>...]
PRINT
PRINT [<list of expressions>]
READ
READ <variable>[,<variable>...]
REM
REM [<anything>] or ' [<anything>]
RENUM
RENUM [<new number>][,<old number>][,<increment>]
RESTORE
RESTORE [<line number>]
RUN
RUN [<line number>|<filename>]
SAVE
SAVE <filename>
STOP
STOP
SWAP
SWAP <variable>,<variable>
TRON
TRON | TROFF
WHILE
WHILE <expression> : WEND