perm filename MANUAL[2,VDS]1 blob
sn#198042 filedate 1976-01-23 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00021 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00004 00002 KEY CODES
C00008 00003 KEY FUNCTIONS
C00012 00004 KEY FUNCTIONS (continued)
C00016 00005 KEY FUNCTIONS (continued)
C00019 00006 KEY FUNCTIONS (continued)
C00024 00007 KEY FUNCTIONS (continued)
C00027 00008 ERROR CODES
C00031 00009 ERROR CODES (continued)
C00034 00010 ERROR CODES (continued)
C00036 00011 ERROR TYPES
C00038 00012 STANDARD FIXUPS APPLIED AFTER ERRORS IF REQUESTED
C00041 00013 STANDARD FIXUPS APPLIED AFTER ERRORS IF REQUESTED (continued)
C00043 00014 DISPLAY FORMATS
C00049 00015 DISPLAY FORMATS (continued)
C00053 00016 DISPLAY FORMATS (continued)
C00054 00017 ARITHMETIC AND LOGICAL OPERATORS
C00057 00018 OPERATION CODES
C00059 00019 ERROR CODES (continued)
C00061 00020 DISPLAY FORMATS (continued)
C00064 00021 SIMULATION TESTS SUBJECT: PAGE:
C00069 ENDMK
C⊗;
KEY CODES
Function Key Code Function Key Code
0 0 0 DROP V 29
1 1 1 LST ⊗ L 30
2 2 2 STORE Z 31
3 3 3 FIX J 32
4 4 4 SCI N 33
5 5 5 I.X. I 34
6 6 6 EXCH H 35
7 7 7 ; ; 36
8 8 8 , , 37
9 9 9 LST x X 38
0 0 10 LST y Y 39
. . 11 =? ? 40
E E 12 ≠ # 41
- - 13 > > 42
+ - 14 < < 43
no-op <sp> 15 MAG M 44
/ / 16 ARG G 45
* * 17 abs B 46
( ( 18 sqrt T 47
↑ ↑ 19 ↑2 Q 48
) ) 20 MAX W 49
21 SCRatch S 50
= = 22 FLAG F 51
A A 23 KEYLOG K 52
π P 24
R R 25
CLEAR C 26
CLR D D 27
CORRECT O 28
KEY FUNCTIONS
A. ENTRY KEYS
0 ... 9 Enter corresponding digit into expression/display;
Identify registers, flags, functions, etc.;
Select display mode;
Enter addresses for GOTO, JUMP, etc.
. Enter a decimal point into the expression/display;
During exponent entry, revert to mantissa entry.
E or x10↑ Enter an "E" into the display, and indicate the
following entries are to form an exponent.
+ - Enter the corresponding sign for the mantissa or
exponent that follows (see Arithemetic Keys below).
COR Remove (i.e. correct) the last entry character
(e.g. sign, digit, decimal point, "E").
B. ARITHMETIC KEYS
+ - X / ↑ Enter the corresponding operator into the expression
(the normal algebraic heirarchy will be observed);
Indicate the operation for register arithmetic.
C. EXPRESSION CONTROL
( ) Enter the corresponding parentheses into the expression.
= Complete the evaluation of the expression in progress.
COR Clear the last entry (e.g. parenthesis, operator, etc.).
CLR D Clear the display contents.
CLEAR Clear the entire expression.
I.X. Execute the last operator entered.
Interchange the last two numeric entries in the expression.
, Indicate the end of a numeric entry, e.g. separate
arguments for a multiple argument function.
; Indicate the end of a numeric entry, e.g. separate
vectors for the summation functions.
KEY FUNCTIONS (continued)
D. REGISTER/FLAG CONTROL
A B C D E Reference the corresponding register or flag (when
preceeded by FLAG) for recall, storage, or scratching.
R Indicate a data register is to be involved in recall,
storage, or scratching (to be followed by up to 3 digits,
or "R" for indirect referencing, or "(" for computed
referencing).
FLAG Indicate a flag is to be involved in recall, storage,
or scratching (to be followed by a digit, a letter,
or an expression enclosed in parentheses).
→ or STO Indicate the current value in the display is to be
stored in the location to be given [register(s) or
flag(s)]; if followed by an arithmetic operator the
transfer is to be done as:
<reg. contents> <operator> <display contents> → <register>
SCR Indicate that the following register(s)/flag(s) is (are)
to be scratched (i.e. cleared).
LST x LST y Recall the contents of the corresponding register to the
expression and display.
LST ⊗ Display the keycode of the last key executed (follow by
CLR D to restore the previous display, or by any other
key to continue).
π Enter the value of pi (3.14159...) into the expression.
P Used in user definable functions and subroutines to
indicate a parameter that will be passed to the routine
when it is invoked; followed by one digit to identify
the parameter.
E. MATHEMATICAL FUNCTIONS WITH ONE ARGUMENT
abs sin Enter the corresponding function reference into the
expression, with its argument to follow (can be applied
exp log ... to a preceeding argument with the I.X. key).
↑2 ! Execute the indicated function using the currently
displayed value as its argument.
KEY FUNCTIONS (continued)
F. MATHEMATICAL FUNCTIONS WITH MULTIPLE ARGUMENTS
MAG ARG MAX Enter the corresponding function reference into the
expression, with arguments to follow (can be applied
ABSC ORD ... to preceeding arguments by using the I.X. key).
Sum the numbers (or vectors) which follow, i.e.
(X1, X2, X3, ...) or
(X1, Y1; X2, Y2; X3, Y3; ...) or
(X1, Y1, Z1; X2, Y2, Z2; X3, Y3, Z3; ...)
ELIM Eliminate the following number (or vector) from the
summation in progress.
G. RELATIONAL OPERATORS
< =? ≠ > Enter the corresponding operator into the expression
(to provide for the evaluation of Boolean expressions).
H. OVERALL OPERATIONAL CONTROL
RUN KEYLOG Initiate the
corresponding
EDIT CLOCK operating mode.
FIX SCI Establish corresponding display mode, using the previously
selected number of digits unless a digit follows.
DEG RAD Establish the corresponding units for arguments for
all trigonometric functions.
I. USER DEFINABLE FUNCTIONS
F G Invoke the user definable function indicated by the
following identification keystroke.
DEFINE Initiate the definition of the function indicated by
the following identification keystrokes (i.e. "F" or
"G" followed by an identification keystroke).
KEY FUNCTIONS (continued)
J. PROGRAM STATEMENTS
GO TO Transfer control to the instruction located at the address
referenced by the argument which follows.
CALL Transfer control to the instruction located at the address
referenced by the argument which follows, and return to
this point upon encountering a RETURN.
JUMP Skip over the number of instructions indicated by the
argument which follows (may be negative).
LOOP Initiate the repetitive execution of a group of
instructions.
IF Initiate the conditional execution of a sequence of
instructions. If the <value> which follows (which may
be a FLAG or an expression inclosed in parentheses) is
less than one (<1), skip over the following instructions
up to the corresponding ELSE, otherwise resume execution
with the next instruction.
ELSE Separate instruction sequences for the IF instruction.
RESET Execute a STOP, clear the user flags (only 0-9?), and set
the program pointer to the start of the current program
in preparation for program execution.
LABEL For administering labeled transfers within a program,
e.g. "GO TO LABEL <key>" where the occurance of
"LABEL <key>" elsewhere in the program indicates where
control is to be directed.
SUB Indicate that the user subroutine identified by the
argument which follows is to be the destination for
a GO TO or CALL instruction.
RETURN Indicate the end of a subroutine, or a program LOOP.
ENTER Stop execution and indicate to the user that the entry
indicated by the following argument is needed (the user
presses EXEC when the entry is completed).
PAUSE Stop execution briefly and display the current value of X.
If any key is depressed at the time, execute a STOP.
STOP Stop execution, leaving the program pointer where it is
(i.e. execution can be resumed by pressing EXEC) and
return control to the keyboard.
INPUT OUTPUT Initiate an interaction with a peripheral device
(e.g. data transfer, or control) as defined by the
code argument which follows.
KEY FUNCTIONS (continued)
K. PROGRAM EDITING
INS Initiate the insertion of instructions into the
program at the currently displayed location. (The
insertion is terminated by pressing any edit key.)
DEL Delete the instruction currently displayed.
STEP Move the program "through the display" one step.
BACK Reverse of STEP.
SCR Delete the program segment indicated by the arguments
which follow.
L. PROGRAM CONTROL (initiated from the keyboard in RUN mode)
EXEC Begin (or resume) program execution at the instruction
"pointed at" by the program pointer.
STEP Display the step number of the next program step to be
executed, execute the instruction, display the result,
and move to the next step.
BACK Decrement the step number and display it along with the
corresponding program step (follow by CLR D to restore
the previous display, or by any other key to continue).
GO TO Shift control to the instruction located at the address
referenced by the argument which follows.
STOP Stop program execution and return control to the keyboard.
RESET Execute a STOP, clear the user flags (only 0-9?), and
set the program pointer to zero (the start of the user
program area)in preparation for program execution.
ERROR CODES
1. SYNTAX Type
1.1 ")" or "=" after an operator, or when X(0) is empty 2
1.2 Operator at beginning of expression, or after another operater 2
1.3 Attempt to STORE a function reference or null contents of X(0) 2
1.4 Attempt to apply "COR" to a terminated number 2
1.5 "I.X." attempted without proper setup 2
1.6 "DROP" attempted without S(0) being empty 2
2. PARENTHESES
2.1 Extra ")" or missing "(" 2
2.2 Extra "(" or missing ")" 2
2.3 Empty parentheses [i.e. ( )] 6
3. MATHEMATICAL
3.1 Division by zero 6
3.2 Invalid argument for a function or operation 6
3.3 Exponent underflow 6
3.4 Exponent overflow 6
3.5 Exponent underflow during register arithemic 6
3.6 Exponent overflow during register arithemic 6
3.7 Attempt to enter a number out of the maximum dynamic range 7
3.8 Attempt to execute "m;n" 2
4. REGISTERS/FLAGS
4.1 Subscript too large 2
4.2 Subscript negative 5
4.3 Undefined register contents on recall 5
4.4 Undefined register contents in indirect referencing 5
4.5 Undefined register contents in storage with register arithmetic 5
4.6 Attempt to use more than 15 levels of indirect register referencing 4
ERROR CODES (continued)
5. MULTIPLE KEYSTROKE SEQUENCE
5.1 Invalid instruction parameter entered 4
5.2 Multiple argument function not followed by "(" 1
5.3 Too few arguments provided for multiple argument function 2
5.4 Attempt to provide too many arguments for multiple argument function 2
5.5 Attempt to apply a general argument to an instruction not allowing 4
6. EDITING
6.1 Edit key entered while not in EDIT mode 2
6.2 STEP or BACK entered while in KEYLOG mode 2
6.3 Attempt to redefine existing subprogram 5
6.4 Program area full 2
7. PROGRAM
7.1 Attempt to EXECute program while not in RUN mode 2
7.2 LABEL not found 4
7.3 Address beyond the end of the current routine 3
7.4 Address negative 5
7.5 Attempt to execute certain program instructions in keyboard mode 2
[e.g. ENTER, IF, JUMP, LOOP, RETURN]
7.6 Attempt to nest ENTER instructions. 2
8. SUBPROGRAM
8.1 Routine referenced is undefined 3
8.2 Attempt to nest subprograms too deeply 3
8.3 Improper use of RETURN 2
ERROR CODES (continued)
9. EXPRESSION LIMITATION
9.1 Attempt to make an entry into the stack when it's full 2
9.2 Attempt to enter more than 15 adjacent "(" 2
9.3 Attempt to enter a function when there isn't space for its
(minimum number of) argument(s) 2
0. INPUT/OUTPUT
0.1 Attempt to read from an unavailable device 2
0.2 Attempt to write on an unavailable device 2
0.3 Data error occurred on transfer 2
0.4 Insufficient space at destination for transfer 2
ERROR TYPES
TYPE 1 -- Response: CLR D & COR → ignore last key and continue
Error codes: 5.2
TYPE 2 -- Response: CLR D & COR → ignore last key and continue
Error codes: 1.1-1.6, 2.1, 2.2, 3.8, 5.3, 5.4, 6.1, 6.2, 6.4
TYPE 3 -- Response: CLR D & COR → ignore last sequence and continue
Error codes: 4.1, 7.3, 8.1, 8.2, 0.1-0.4
TYPE 4 -- Response: COR → ignore last key and continue sequence
CLR D → ignore entire extended sequence
Error codes: 4.6, 5.1, 5.5, 7.2
TYPE 5 -- Response: COR → reject "standard fixup" and ignore entire sequence
CLR D → accept "standard fixup" and process last key
Error codes: 4.2-4.5, 6.3, 7.4
TYPE 6 -- Response: COR → reject "standard fixup" and ignore last key
CLR D → accept "standard fixup" and process last key
Error codes: 2.3, 3.1-3.6
TYPE 7 -- Response: COR → reject "standard fixup" and ignore last key
CLR D → accept "standard fixup" and process last key
Error codes: 3.7
STANDARD FIXUPS APPLIED AFTER ERRORS IF REQUESTED
Error 2.3 - EMPTY PARENTHESES
Remove the last left parenthesis from the expression.
Error 3.1 - DIVISION BY ZERO
Assume the largest representable magnitude, with the sign of the
numerator.
Error 3.2 - INVALID ARGUMENT FOR A FUNCTION OR OPERATION
Operation/Funct. Valid Argument(s) Fixup For Invalid Argument
a↑b a≥0, all b use |a|
[a<0, b an integer]
sqrt x x > 0 use |x|
--------------- Future Functions ---------------
arcsin x |x| ≤ 1 use sgn(x)
arccos x |x| ≤ 1 use sgn(x)
x! x ≥ 0 & integer use int|x|
log x x > 0 x = 0 → -(largest magnitude)
x < 0 → use |x|
ln x x > 0 x = 0 → -(largest magnitude)
x < 0 → use |x|
Errors 3.3 & 3.5 - EXPONENT UNDERFLOW
Assume zero.
Errors 3.4 & 3.6 - EXPONENT OVERFLOW
Assume the largest representable magnitude, with the appropriate sign.
STANDARD FIXUPS APPLIED AFTER ERRORS IF REQUESTED (continued)
Error 3.7 - ATTEMPT TO ENTER A NUMBER OUT OF THE MAXIMUM DYMANIC RANGE
Make the same assumptions as for error 3.3 or 3.4 as appropriate.
Error 4.2 - SUBSCRIPT NEGATIVE
Assume the subscript is positive with the same magnitude.
Errors 4.3-4.5 - UNDEFINED REGISTER CONTENTS
Assume the register contains zero.
Error 6.3 - ATTEMPT TO REDEFINE AN EXISTING SUBPROGRAM
Allow the redefinition.
Error 7.4 - ADDRESS NEGATIVE
Assume the address is positive with the same magnitude.
DISPLAY FORMATS
A. RUN mode
1. Data When the "visible" register of the expression
stack is empty the display is blank.
On entry up to 13 digits can be displayed, plus
sign and decimal point. When an exponent is
entered only ten mantissa digits are shown.
On output either fixed or scientific notation
can be selected, with the number of digits to
the right of the decimal point prescribed (0-9).
A maximum of ten mantissa digits are displayed.
When space allows, digits are grouped by threes
with a blank between groups. The sign is always
adjacent to the leftmost digit, and in scientific
notation the mantissa is right justified with one
blank between it and the exponent if space allows.
When the exponent is less than ten only one digit
is displayed.
Examples: -1234567890123.
-1 234.567 89
-12 345.67 E-3
-12345.67890E-12
-1.3 E 27
2. Error When an error occurs, or is predicted, the word
"Error" is displayed along with a two digit code
(of the form <category>.<member>) identifying
the error. If the error is one to which the user
can give different responses for different results
(e.g. request application of a standard fixup) an
"r" is appended to the code.
Examples: Error 1.2
Error 5.1 r
3. Parentheses When the last entry made in the expression is a
left parenthesis the display shows the number of
adjacent left parentheses that have been entered.
Example: 2-
4. LAST KEY Entering this command causes the keycode of the
preceeding key to be displayed.
Example: ......018......
5. Function reference When a function reference is entered into an
expression the display indicates the keycode
of the function and shows how many arguments are
required/allowed. If the function reference is
preceeded by a unary minus the sign is shown.
Examples: - .047.1
.044.2
.049.2-6
DISPLAY FORMATS (continued)
A. RUN mode (continued)
6. Extended sequence When an extended sequence is being entered
(e.g. →*R23) the keycode of the last key
entered is displayed set off by -'s to
distinguish it from the LAST KEY display.
Example: ------031------
B. EDIT mode The same display features as in RUN mode apply in
this mode except that the program step number is
shown in the leftmost four digits. Thus the
effective display size is twelve characters
instead of sixteen.
1. Data Examples: 0027-1234567890.
1094-1234.56789
0011 1 234. E-3
0123-12345.6E-12
0076 -1.3 E 27
2. Error Examples: 0436 Error 1.2
0059 Error 5.1 r
3. Parentheses Example: 1234 2-
4. LAST KEY Example: 7426...018......
5. Function reference Examples: 0852 - .047.1
0002 - .049.2-6
6. Extended sequence Example: 0075---031------
7. ENTER The reference number (0-9) for the entry is
displayed along with the program step number.
Example: 0530...E7.......
8. Program viewing The program is displayed three steps at a time
with the center code corresponding to the program
step number shown. When the program step number
corresponds to the first or last instruction in
the memory only two steps are displayed.
Examples: 1023-047.018.013
1024-018.013.
0000- .001.002.
DISPLAY FORMATS (continued)
C. PROGRAM execution
1. Data Same as in RUN mode
2. Error Same as in EDIT mode
3. ENTER Same as in EDIT mode with the omission of the
program step number.
Example: .......E7.......
ARITHMETIC AND LOGICAL OPERATORS
NAME SYMBOL MEANING EXAMPLES
Unary plus + Indicate positiveness +A, +3, +sqrt(30)
Unary minus - Indicate the negative -A, -3, -sqrt(30)
of a quantity
Up-arrow ("to the") ↑ Exponentiation 4↑5, 2↑sqrt(30), R5↑A
Implied multiply none Multiplication 2 sqrt(30), A R5
Times * Multiplication 4*5, 2*sqrt(30), R5*A
Slash / Division 4/5, 2/sqrt(30), R5/A
Plus + Addition 4+5, 2+sqrt(30), R5+A
Minus - Subtraction 4-5, 2-sqrt(30), R5-A
Equal? = Test for equality 4=5, 2=sqrt(30), R5=A
Not equal? ≠ Test for inequality 4≠5, 2≠sqrt(30), R5≠A
Less than? < Test for less than 4<5, 2<sqrt(30), R5<A
Greater than? > Test for greater than 4>5, 2>sqrt(30), R5>A
FUNCTIONS
NAME SYMBOL MEANING COMMENTS
Absolute value abs abs(X) ≡ |X|
Square ↑2 X↑2 ≡ X*X
Square root sqrt sqrt(X) ≡ X↑0.5 X≥0 (Standard fixup applied if re-
quested after error 3.2: use |X|)
Argument ARG ARG(X,Y)≡ arctan(Y/X) Gives principal value (-90≤α≤90)
Magnitude MAG MAG(X,Y)≡ sqrt(X*X+Y*Y)
Maximum MAX MAX(X,Y,...) Two to six arguments allowed
OPERATION CODES
73 maf lang. funct.
72 maf
71 saf lang. funct.
70 saf
60 ↑
51 implied * in "-("
50 implied *
41 *
40 /
31 +
30 -
23 <
22 >
21 ≠
20 =?
10 , or ;
01 =
00 0
(First digit gives the heirarchy level)
LANGUAGE FUNCTION RETURN CODES
0 - No argument expression(s) allowed (e.g. FIX, SCI)
1 - Recall R [(n)]
2 - STOre R [(n) or (m,n)]
3 - SCRATCH R [(n) or (m,n)]
4 - SCRATCH FLAG [(n) or (m,n)]
5 - STOre FLAG [(n) or (m,n)]
6 - Recall FLAG [(n)]
ERROR CODES (continued)
5. MULTIPLE KEYSTROKE SEQUENCE
5.1 Invalid instruction parameter entered 4
5.2 Multiple argument function not followed by "(" 1
5.3 Too few arguments provided for multiple argument function 2
5.4 Attempt to provide too many arguments for multiple argument function 2
5.5 Attempt to apply a general argument to an instruction not allowing 4
9. EXPRESSION LIMITATION
9.1 Attempt to make an entry into the stack when it's full 2
9.2 Attempt to enter more than 15 adjacent "(" 2
9.3 Attempt to enter a function when there isn't space for its
(minimum number of) argument(s) 2
0. SIMULATION ERROR
0.1 Invalid keycode entered 2
DISPLAY FORMATS (continued)
A. RUN mode (continued)
6. Extended sequence When an extended sequence is being entered
(e.g. →*R23) the keycode of the last key
entered is displayed, set off by -'s to
distinguish it from the LAST KEY display.
Example: ------031------
B. EDIT mode The same display features as in RUN mode apply in
this mode except that the program step number is
shown in the leftmost four digits. Thus the
effective display size is twelve characters
instead of sixteen.
1. Data Examples: 0027-1234567890.
1094-1234.56789
0011 1 234. E-3
0123-12345.6E-12
0076 -1.3 E 27
2. Error Examples: 0436 Error 1.2
0059 Error 5.1 r
3. Parentheses Example: 1234 2-
4. LAST KEY Example: 7426...018......
5. Function reference Examples: 0852 - .047.1
0002 - .049.2-6
6. Extended sequence Example: 0075---031------
SIMULATION TESTS SUBJECT: PAGE:
****************
TEST | REMARKS | DATE
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
| |
___________________________________________________________________________________