previous | contents | next

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.

previous | contents | next