Skip to content

Latest commit

 

History

History
111 lines (90 loc) · 6.97 KB

HP2000_RefCard.md

File metadata and controls

111 lines (90 loc) · 6.97 KB

Quick Reference to HP 2000 Time-Shared BASIC

Reference for all commands used in STTR1.

SIMPLE VARIABLE

A letter from A to Z; or a letter immediately followed by a number (from 0 to 9).
Examples: A0, B, M5, C2, Z9, D

Variables are used to represent numeric values.

There are two other types of variables, string variables and array variables.

FORMATTED OUTPUT

The following format specifiers are used in STTR1:

Format specifier Meaning
D one digit
3D 3 digits, left padded with spaces
4D 4 digits, left padded with spaces
5D 5 digits, left padded with spaces
6D 6 digits, left padded with spaces
8X 8 spaces
9X 9 spaces
11X 11 spaces
15X 15 spaces
3A 3 characters of a string; left padded with whitespace?
6A 6 characters of a string; left padded with whitespace?
3(3D," :") 3 times: 3 digits followed by " :"
8(X,3A) 8 times: 1 space followed by 3 characters of a string
8(3X,3D) 8 times: 3 characters of a string followed by 3 digits

FUNCTIONS

Functions return a numeric result; they may be used as expressions or parts of expressions. PRINT is used for examples only; other statement types may be used.

Full Name Example                         Purpose
DEF FN DEF FNA(X)=(M*X)+B Allows the programmer to define functions; the function label (A) must be a letter from A to Z; the argument(X) is a dummy variable.
ABS(X) 310 PRINT ABS(X) Gives the absolute value of the expression (X).
INT(X) 330 PRINT INT(X) Gives the largest integer ≤ the expression (X).
RND(X) 350 PRINT RND(X) Generates a random number greater than or equal to 0 and less than 1; the argument (X) may have any value. A negative argument is used to restart a sequence of random numbers.
SQR(X) 360 PRINT SQR(X) Gives the square root of the expression (X); expression must have a positive value.
TIM(X) 460 PRINT TIM(X) Gives current minute (X=0) or hour (X=1).

MATRICES

NOTES:

  1. Absolute maximum matrix size is 4900 elements.
  2. Matrix variables must be a single letter from A to Z.
Name Sample Statement Purpose
DIM 10 DIM A (10,20) Allocates space for a matrix of the specified dimensions.
MAT ZER MAT B=ZER Sets all elements of the specified matrix equal to 0.

STRINGS

NOTES:

  1. A string is 1 to 72 characters enclosed in quotes; it may be assigned to a string variable (an A to Z letter followed by a $).
  2. Each string variable used in a program must be dimensional (with a DIM statement) if it has a length of more than one character. The DIM sets the physical or maximum length of a string.
  3. Substrings are described by subscripted string variables. For example, if A$ = "ABCDEF", A$(2,2) = B, A$(1,4) = "ABCD" and A$(3) = "CDEF".
Full Name/Symbol Example (Abbreviation) Purpose
DIM 10 DIM A$ (27) Declares maximum string length in characters.
= 20 A$="**TEXT1 Assigns the character string in quotes to a string variable.
= 105 IF A$=C$ THEN 600 Allows comparison of strings, and substrings and transfer to a specified statement if the comparison is true. Comparison is made in ASCII codes, character by character, left to right until a difference is found.
INPUT 205 INPUT N$ Accepts as many characters as the string can hold (followed by a return). The characters need not be in quotation marks.

OPERATORS

NOTE: The numeric values used in logical evaluation are:

  • "true" = any nonzero number
  • "false" = 0
Symbol Sample Statement Purpose/Meaning/Type
= 100 A = B = C = 0 Assignment operator; assigns a value to a variable.
^ 120 PRINT X^2 Exponentiate (as in X²).
* 130 C5 = (A*B)*N2 Multiply
/ 140 PRINT T5/4 Divide
+ 150 P = R1/10 Add
- 160 X3 = R3 - P Subtract
= 170 IF D = E THEN 600 expression "equals" expression
<> 180 IF D6<>(2*D) THEN 700 expression "does not equal" expression
> 190 IF X>10 THEN 620 expression "is greater than" expression
< 200 IF R8<P7 THEN 640 expression "is less than" expression
>= 210 IF R8>=P7 THEN 710 expression "is greater than or equal to" expression
<= 220 IF X2<=10 THEN 650 expression "is less than or equal to" expression

STATEMENTS

Full Name Example Purpose
END 390 END Terminates the program; the last statement in a program must be an END statement.
FOR...NEXT 440 FOR J=1 TO N Executes statements between FOR and NEXT the specified number of times (a loop), incrementing the variable by 1.
GOTO 450 GOTO 900 Transfers control (jumps) to specified statement number.
GOTO...OF 460 GOTO n OF 100,10,20 Transfers control to the _n_th statement of the statements listed after "OF".
GOSUB 470 GOSUB 800 Begins executing the subroutine at specified statement (see RETURN)
IF...THEN 490 IF A<>10 THEN 350 Logical test; transfers control to statement if "true".
IMAGE 500 IMAGE 6D,AA,SD,5DE Used to specify the format of a PRINT USING statement.
INPUT 510 INPUT X$,Y2,B4 Allows data to be entered from terminal while program is running.
IF ... THEN 490 IF A#10 THEN 350 Logical test; transfers control to statement number if "true".
NEXT 530 NEXT J Marks the end of the FOR loop.
PRINT 540 PRINT A,B,C$ Prints the specified values; 5 fields per line when commas are used as separators, 12 when semicolons are used.
550 PRINT Causes the terminal to advance one line.
580 PRINT USING "3A";A$
590 PRINT USING A$;A,B4
600 PRINT USING 200;N,A$
Prints the specified data according to the specified format. The format can be a string, a string variable or the statement number of an image statement containing the format string (200). The format is optionally followed by a semicolon and an expression list (A,B4).
REM 630 REM ANY TEXT Inserts non-executable remarks in a program.
RETURN 660 RETURN Subroutine exit; transfers control to the statement following the matching GOSUB.