254 Part 3 The instruction-set processor level: variations in the processor
Section 4 Desk calculator computers: keyboard processors with small memories
Fig. 14. Internal adjustments of the calculator are easily accessible by removing a few screws and lifting the top.
Internal programming of the 9100A calculator
Extensive internal programming has been designed into the HP Model 9100A Calculator to enable the operator to enter data and to perform most arithmetic operations necessary for engineering and scientific calculation with a single key stroke or single program step. Each of the following operations is a hardware subroutine called by a key press or program step:
Basic arithmetic operations
Addition
Subtraction
Multiplication
Division
Extended arithmetic operations
Square root
Exponential-ex
Logarithmic-1n x, log x
Vector addition and subtraction
Trigonometric operations
Sin x, cos x, tan x
Arcsin x, arccos x, arctan x
Sinh x, cosh x, tanh x
Arcsinh x, arccosh x, arctanh x
Polar to rectangular and rectangular to polar coordinate transformation
Miscellaneous
Enter p
Absolute value of y
Integer value of x
In the evolution of internal programming of the Model 9100A Calculator, the first step was the development of flow charts of each function. Digit entry, Fig. 15, seemingly a trivial function, is as complex as most of the mathematical functions. From this functional description, a detailed program can be written which uses the microprograms and incremental instructions of the calculator. Also, each program must be married to all of the other programs which make up the hard-wired software of the Model 9100A. Mathematical functions are similarly programmed defining a step-by-step procedure or algorithm for solving the desired mathematical problem.
The calculator is designed so that lower-order subroutines may be nested to a level of five in higher-order functions. For instance, the 'Polar to Rectangular' function uses the sin routine which uses multiply which uses add, etc.
Addition and subtraction
The most elementary mathematical operation is algebraic addition. But even this is relatively complex-it requires comparing signs and complementing if signs are unlike. Because all numbers in the Model 9100A are processed as true floating point numbers, exponents must be subtracted to determine proper decimal alignment. If one of the numbers is zero, it is represented in the calculator by an all-zero mantissa with zero exponent. The difference between the two exponents determines the offset, and rather than shifting the smaller number to the right, a displaced digit-by-digit addition is performed. It must also be determined if the offset is greater than 12, which is the resolution limit.
Although the display shows 10 significant digits, all calculations are performed to 12 significant digits with the two last significant digits (guard digits) absorbing truncation and round-off errors. All registers are in core memory, eliminating the need for a large number of flip-flop registers. Even with the display in 'Fixed Point' mode, every computed result is in storage in 12 digits.