HP 35s

Last updated

HP 35s
Hp35s Calculator.jpg
Front view of the HP 35s
Type Programmable scientific
Manufacturer Hewlett-Packard
Introduced2007
Design firm Kinpo Electronics, Inc.
CostUS$300-499
Calculator
Entry mode RPN, Infix
Precision15 digits ±499 exponent (internal)
Display type LCD dot-matrix
Display size2×14 characters
CPU
Processor Sunplus/Generalplus microcontroller 8502 (with CPU core based on MOS 6502) [1]
Programming
Programming language(s) Keystroke (fully merged)
User memory30 KB
Memory registerover 800
Other
Power supply2× CR2032 batteries
Weight125 g (4.4 oz)
Dimensions158 × 82 × 18.2 mm (6.22 × 3.23 × 0.72 in)

The HP 35s (F2215A) is a Hewlett-Packard non-graphing programmable scientific calculator. Although it is a successor to the HP 33s, it was introduced to commemorate the 35th anniversary of the HP-35, Hewlett-Packard's first pocket calculator (and the world's first pocket scientific calculator). HP also released a limited production anniversary edition with shiny black overlay and engraving "Celebrating 35 years". [2]

Contents

Features

The HP 35s uses either Reverse Polish Notation (RPN) or algebraic infix notation as input.

Other features of the HP 35s include: [3]

The HP 35s has been given a retro look reminiscent of classic HP calculators from the 1970s to the 1990s. However, it provides far more functions, processing power, and memory than most of those earlier models.

The physical appearance and keyboard layout of the HP 35s is very different than that of its immediate predecessor, the HP 33s, but the two calculators are functionally very similar. The primary differences are:

HP has released a free-of-charge 35s emulator for the Windows operating system (and Wine). [7] This was previously only available to teachers for classroom demonstration purposes.

Construction

Internal view HP 35s.JPG
Internal view

The HP 35s was designed by Hewlett-Packard in conjunction with Kinpo Electronics of Taiwan, which manufactures the calculator for HP in mainland China. [1]

According to HP, the calculator has been engineered for heavy-duty professional use, and has been tested under extreme environmental conditions. [1] It is built using 25 screws for rigidity and ease of maintenance.

The case features many design elements from 1970s HP calculators such as the ground-breaking HP-65, including a black case with silver-striped curved sides, slope-fronted keys, and gold and blue shift keys. The faceplate is metal, bonded to the plastic case. The key legends are printed, rather than the double-shot moulding used in the vintage models.

The calculator is powered by two CR2032 button cells connected in parallel, which it is advised to replace one at a time, to avoid memory loss. [5]

It was initially supplied with a hard zippered clamshell case with a pocket for notes, and a printed manual, [8] but this was later changed to a slipcase made of vinyl-covered cardboard with elastic sides and velvet lining, and a CD-ROM containing a PDF manual.

The calculator is entirely self-contained; there is no facility for upgrading the firmware, nor for loading/saving programs and data.

Reception

The build quality and industrial design of the 35s has been welcomed by reviewers as a return to the best HP professional calculator traditions, in contrast to their more recent advanced calculators which were seen as feature-packed and heavily styled for the student market, but in some cases poorly designed and built. [9] [10] Particular mention has been made of the traditional HP feel of the keyboard with a big ↵ Enter key back in its traditional place. [10] [6] Shortcomings which have been identified include the lack of any facility for communication with a computer (for loading and saving programs and data), [10] [11] and sluggish performance. [3] [6]

Response to the calculator's logic has been mixed. The increase in addressable registers and introduction of program line-number addressing have been seen as a big improvement over the 33s. [6] [3] [12] While welcoming the improved handling of complex numbers compared to the 33s, the incomplete support for them has been criticised. [9] Working with hexadecimal and other non-decimal bases has been criticised as requiring excessive and unintuitive keystrokes. [3] Several firmware bugs have also been reported, which have not yet been fixed. [13]

The 35s's lack of communication abilities makes it acceptable for use in some professional examinations where more powerful calculators would not be. For example, in the US, it is the most powerful programmable calculator approved for use in the Fundamentals of Engineering (FE) and Principles and Practice of Engineering (PE) examinations. [14]

Feature details

Entry modes

The 35s supports both RPN and algebraic entry modes. Like most HP calculators, it defaults to RPN. The entry mode can be easily changed by the user. An annunciator on the display indicates the current entry mode.

In RPN mode, it uses a four-level stack, as have all HP's non-graphing RPN calculators since the earliest days. In contrast to the usual computer-science terminology, RPN calculators such as this refer to the operational end of the stack as the bottom and the far end as the top. The stack levels are named X (the bottom), Y, Z, and T (the top); they have no connection with the variables of the same names. Level X appears on the lower line of the display and level Y on the upper line. Each stack level can contain any of the data types supported by the machine: real number, complex number, or vector. Various functions are provided for manipulating the stack, such as R↑ and R↓ to roll, x<>y to swap X and Y, LASTx to recall the last-used X value, and x<> to swap X and a named variable.

Algebraic mode works by the user entering an expression, then pressing ↵ Enter to have it evaluated. The expression appears on the upper line of the display, the result on the lower line. The expression can be edited using the arrow and backspace keys, and re-evaluated as desired.

Units and fractions

10 cm converted to inches and displayed as a fraction, "slightly below"
.mw-parser-output .frac{white-space:nowrap}.mw-parser-output .frac .num,.mw-parser-output .frac .den{font-size:80%;line-height:0;vertical-align:super}.mw-parser-output .frac .den{vertical-align:sub}.mw-parser-output .sr-only{border:0;clip:rect(0,0,0,0);clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}
3+15/16. (Emulator screenshot) Hp35s-emulator-fraction-display.png
10 cm converted to inches and displayed as a fraction, "slightly below" 3+1516. (Emulator screenshot)

In keeping with the calculator's retro theme, conversions between Imperial/US units and the equivalent standard metric units feature prominently on the 35s's keypad. To facilitate those who still use traditional units, and for other uses, the calculator also allows the entry of values as mixed fractions and the display of values as mixed fractions.

Entry of mixed fractions involves using decimal points to separate the parts. For example, the sequence 3.15.16→cm converts 3+1516 inches to 10.0 cm (approximately).

The calculator may be set to automatically display values as mixed fractions by toggling the FDISP key. The maximum denominator may be specified using the /c function. Numbered flags may be set to specify which of three denominator systems is to be used: most precise denominator, factors of the maximum (for example 2, 4, 8, 16, when the maximum is 16), or a fixed denominator. Two small arrow symbols on the display indicate if the actual value is slightly above or below that displayed. There are no functions to directly extract the parts of the displayed fraction.

Complex numbers

Previous (and other current) HP calculators have handled complex numbers in a variety of ways. In the HP 33s, complex numbers were stored as two separate values, and the "complex" modifier was used to indicate that an operation was to treat the stack as containing complex numbers. For example, adding 12 + 34i and 56 + 78i involved the following keystrokes: 34↵ Enter12↵ Enter78↵ Enter56CMPLX+, which used up all four stack levels. [15]

The 35s stores complex numbers as single values, which can then be operated on in the standard ways. The above example of adding 12 + 34i and 56 + 78i then becomes: 12i34↵ Enter56i78+.

On the 35s, the number of functions able to handle complex numbers is limited and somewhat arbitrary. For example, directly taking the square root of a negative real number results in an error message instead of a complex number. This is strictly correct given that a nonnegative real number a has a unique nonnegative square root and this is called the principal square root which is denoted by a. The symbol √ is called the radical sign or radix. For example, the principal square root of 9 is 3, which is denoted by 9 = 3, because 32 = 3 • 3 = 9 and 3 is nonnegative. However raising x to the power of 0.5 using the yx key works if the number is entered as a real number with a complex part equal to zero. [9] Inverse and hyperbolic trigonometry functions cannot be used with complex numbers. Base-e (natural) logarithms and exponentiation can be used, but not base-10. However, workarounds exist for many of those limitations.

Complex numbers can be entered in either rectangular form (using the i key) or polar form (using the Θ key), and displayed in either form regardless of how they were entered. They can be decomposed using the ABS (radius r) and ARG (angle Θ) functions. There are no functions for extracting real and imaginary parts, though that can be worked around, using the formulas Re = r cos Θ and Im = r sin Θ.

Vectors

The 35s provides facilities for handling vectors of up to three real-number elements. [16] A vector may be stored on the stack, or in any variable, as a single value, and processed by various functions. It is entered by the user starting with a square bracket [, then the element values separated by commas ,. Vectors can be added, subtracted, multiplied and divided by scalars. Two vectors of similar dimensions may be added and subtracted, and multiplied to give their dot product. The ABS function will return a vector's magnitude. A cross-product function is not available, nor any function to extract individual elements from a vector, but these can be readily calculated by the user.

Vectors can also be used to simply store up to three real numbers together, thereby increasing the calculator's storage capacity, though with more complexity and reduced speed. HP have published program code for the 35s which enables this. [17]

Number bases

The calculator can be set to display values in binary, octal, or hexadecimal form, as well as the default decimal. When a non-decimal base is selected, calculation results are truncated to integers.

Regardless of which display base is set, non-decimal numbers must be entered with a suffix indicating their base, which involves three or more extra keystrokes. [3]

When hexadecimal is selected, the row of six keys normally used for floating-point functions (trigonometry, logarithms, exponentiation, etc.) are instead allocated to the hex digits A to F (although they are physically labelled H to M).

In non-decimal bases, the word length is fixed at 36 bits, and uses two's complement negation. Six bitwise operations are available: AND, OR, XOR, NOT, NAND, and NOR.

Statistics and probability

The 35s's statistics capabilities are fairly standard. It can process a set of one-variable or two-variable statistics. Calculated results include means, weighted mean, standard deviation, and linear regression figures. The summation registers are also accessible for further calculations.

Probability functions (combinations and permutations) are available, as well as random numbers.

Memory and variables

Checking memory usage: 0 indirect variables allocated, 30,192 bytes free. Menu items 1 and 2 show details about the variables and programs respectively. (Emulator screenshot) Hp35s-emulator-memory-check.png
Checking memory usage: 0 indirect variables allocated, 30,192 bytes free. Menu items 1 and 2 show details about the variables and programs respectively. (Emulator screenshot)

The 35s provides 30k bytes of user memory, which is shared among data, stored equations, and programs.

Since complex numbers and vectors of up to three elements can be stored as a single value, each data variable occupies 37 bytes, enough for a type indicator and three floating-point numbers. [5]

The 26 alpha-labelled variables and the six statistics registers are permanently allocated; the rest of the memory space can be occupied by up to 801 more variables which can only be accessed indirectly. Indirect access to any variable is achieved by storing its sequence number (0 upwards) in the I or J variable as a pointer and then accessing the variable via (I) or (J). The indirect variables are allocated automatically; storing a non-zero value in one results in the allocation of all variables with sequence numbers up to and including the one specified. Conversely, storing a zero value in the highest-allocated indirect variable results in the automatic deallocation of indirect variables downwards until a non-zero value is encountered. Attempting to read a non-allocated variable results in an error. It is therefore common practice to store a dummy non-zero value in a higher-numbered variable than is needed, to ensure that all lower-numbered variables are made available regardless of their values. [18] The permanently allocated variables and the statistics registers may also be accessed indirectly, using negative sequence numbers of -1 to -32.

The calculator provides a set of 41 mathematical and physical constants, which may be scrolled through and selected using the CONST key. A set of 12 binary flags are available; every flag can be set by the user to determine the behaviour of the calculator, five of these may be used for any purpose.

Stored equations occupy a byte for each character and three bytes overhead.

Program steps occupy three bytes. Steps which specify values or equations occupy more memory, as indicated above.

The amount of used and available memory can be readily checked by the user, but not by programs. The user can clear all indirect variables above a specified number, with the CLVARx function.

Equations

As well as variables and programs, the user can store any number of equations in the calculator. "Equations" in this context means expressions ( f(x,...) ), equalities ( f1(x,...) = f2(x,...) ), and assignments (y = f(x,...)), which are each handled in different ways. Equations typically include named variables whose values are to be supplied by the user at run time, but can also take values from the stack.

Equations are entered in algebraic notation, even when RPN entry mode is active. They are stored in a list which is accessed with the EQN key, allowing the user to scroll through the list, add, edit and delete equations, and select an equation to be processed.

An equation may be processed in a number of ways.

There are also two built-in entries in the equations list, to allow solving all variables in a system of linear equations. Systems of two equations with two variables, and three equations with three variables, are supported.

Solving and (especially) integrating equations take both time and memory. Efficiencies may be made by reducing the display precision and ensuring enough memory is available.

Since the content of an equation is not validated unless and until it gets processed, it may contain any sequence of characters, including text strings. This may be taken advantage of in order to include lines of notes in the equations list (as is shown in the main picture at the top of this page).

Programming

The HP 35s is keystroke-programmable, meaning that it can remember and later execute sequences of keystrokes to solve particular problems of interest to the user. Program keystrokes are fully merged: functions accessed via shift keys or menus are recorded as one keystroke, not two or more. These keystroke programs, in addition to performing any operation normally available on the keyboard, can also make use of conditional and unconditional branching and looping instructions, allowing programs to perform repetitive operations and make decisions.

All programs are stored in one continuous program space, and may be created and edited by switching to programming mode, using the PRGM key. Within the program space, up to twenty-six alphabetic labels may be defined in the form LBLA, and each label may be followed by up to 998 other steps, so that any step may be targeted by a GTO ("go to") or XEQ ("execute") instruction in the form A123 (or just A for the label step itself, A001). Any steps before the first label are numbered with four digits, but these steps cannot be targeted. Subsequent insertion or deletion of steps in program space results in the automatic correction of GTO/XEQ instructions to reflect changes to the targeted step numbers. It is conventional to use each label to mark the start of a separate program, so that any program may be executed by a command in the form XEQA. Program execution can be interrupted or resumed by pressing the R/S ("run/stop") key, and the program step pointer can be moved using the and keys. There is no connection between program labels and the variables of the same names.

As in normal operation, programming can be done in either RPN or algebraic (infix) mode. RPN-mode programs are usually smaller and faster. [5]

Here is a sample program that computes the factorial of an integer number from 2 to 69 (ignoring the calculator's built-in factorial/gamma function). There are two versions of the example: one for algebraic mode and one for RPN mode. The RPN version is significantly shorter.

Algebraic version:

StepInstructionComment
A001LBLAStart of program A
A002LASTXSTON↵ EnterStore displayed value in N
A0031STOF↵ EnterStore 1 in F
A004RCLN×RCLFSTOFStore N × F in F
A005DSENDecrement N and if not zero ...
A006GTOA004... go back to step A004
A007RTNEnd of program - result is displayed

RPN version:

StepInstructionComment
R001LBLRStart of program R
R002STONStore x (stack) into N (memory)
R0031Start with the number 1 placed in stack register X
R004RCLN×Recall N (memory), placed in X the stack moves up and then multiply two lowest stack registers
R005DSENDecrement N and if not zero ...
R006GTOR004... go back to step R004
R007RTNEnd of program - result is in x (stack) and displayed

Equations may be embedded in programs, as a single program step. The calculator's settings include a numbered flag which specifies whether equations in programs are to be evaluated or displayed at run time. Since an equation can contain any sequence of characters, it may be composed as a message to be displayed. After displaying a message, the program either stops until R/S is pressed, or if a PSE (pause) instruction follows the message then it pauses for one second before continuing.

Programs may be solved and integrated in much the same way as equations. Instead of selecting an equation from a list, the user presses FN=, then the program's label, and either SOLVE or , which prompts for the name of the target variable. The existing values of the other variables are used, unless the program contains INPUT instructions to make the program prompt for a value. In the case of solving, the program is treated as an expression whose return value (the value left on the stack) should be zero. Programs can also contain instructions for solving and integrating other equations/programs.

See also

Related Research Articles

Reverse Polish notation (RPN), also known as reverse Łukasiewicz notation, Polish postfix notation or simply postfix notation, is a mathematical notation in which operators follow their operands, in contrast to prefix or Polish notation (PN), in which operators precede their operands. The notation does not need any parentheses for as long as each operator has a fixed number of operands.

<span class="mw-page-title-main">Scientific calculator</span> Calculator designed to calculate problems in science, engineering, and mathematics

A scientific calculator is an electronic calculator, either desktop or handheld, designed to perform calculations using basic and complex mathematical operations and functions. They have completely replaced slide rules as well as books of mathematical tables and are used in both educational and professional settings.

<span class="mw-page-title-main">HP-35</span> First pocket scientific calculator

The HP-35 was Hewlett-Packard's first pocket calculator and the world's first scientific pocket calculator: a calculator with trigonometric and exponential functions. It was introduced in 1972.

<span class="mw-page-title-main">HP-65</span> Programmable handheld calculator with magnetic card reader

The HP-65 is the first magnetic card-programmable handheld calculator. Introduced by Hewlett-Packard in 1974 at an MSRP of $795, it featured nine storage registers and room for 100 keystroke instructions. It also included a magnetic card reader/writer to save and load programs. Like all Hewlett-Packard calculators of the era and most since, the HP-65 used Reverse Polish Notation (RPN) and a four-level automatic operand stack.

<span class="mw-page-title-main">RPL (programming language)</span> Handheld calculator operating system

RPL is a handheld calculator operating system and application programming language used on Hewlett-Packard's scientific graphing RPN calculators of the HP 28, 48, 49 and 50 series, but it is also usable on non-RPN calculators, such as the 38, 39 and 40 series. Internally, it was also utilized by the 17B, 18C, 19B and 27S.

<span class="mw-page-title-main">HP 33s</span> Scientific calculator by Hewlett-Packard

The HP 33s (F2216A) was a scientific calculator marketed by Hewlett-Packard. It was introduced in 2003 as the successor to the HP 32SII, and discontinued on the introduction of its successor the HP 35s in 2007.

<span class="mw-page-title-main">HP-41C</span> Hewlett-Packard handheld RPN calculator

The HP-41C series are programmable, expandable, continuous memory handheld RPN calculators made by Hewlett-Packard from 1979 to 1990. The original model, HP-41C, was the first of its kind to offer alphanumeric display capabilities. Later came the HP-41CV and HP-41CX, offering more memory and functionality.

<span class="mw-page-title-main">HP-20S</span>

The HP-20S (F1890A) is an algebraic programmable scientific calculator produced by Hewlett-Packard from 1987 to 2000.

<span class="mw-page-title-main">HP-42S</span> Scientific calculator by Hewlett-Packard

The HP-42S RPN Scientific is a programmable RPN Scientific hand held calculator introduced by Hewlett-Packard in 1988. It has advanced functions suitable for applications in mathematics, linear algebra, statistical analysis, computer science and others.

<span class="mw-page-title-main">HP-27S</span>

The HP-27S was a pocket calculator produced by Hewlett-Packard, introduced in 1988, and discontinued between 1990 and 1993. It was the first HP scientific calculator to use algebraic entry instead of RPN, and though it was labelled scientific, it also included features associated with specialized business calculators.

<span class="mw-page-title-main">TI SR-50</span> Early scientific pocket calculator

The SR-50 was Texas Instruments' first scientific pocket calculator with trigonometric and logarithm functions. It enhanced their earlier SR-10 and SR-11 calculators, introduced in 1973, which had featured scientific notation, squares, square root, and reciprocals, but had no trig or log functions, and lacked other features. The SR-50 was introduced in 1974 and sold for US$170. It competed with the Hewlett-Packard HP-35.

There are various ways in which calculators interpret keystrokes. These can be categorized into two main types:

<span class="mw-page-title-main">Hewlett-Packard Voyager series</span> Programmable calculator, 1982–1984

The Hewlett-Packard Voyager series of calculators were introduced by Hewlett-Packard in 1981. All members of this series are programmable, use Reverse Polish Notation, and feature continuous memory. Nearly identical in appearance, each model provided different capabilities and was aimed at different user markets.

<span class="mw-page-title-main">HP-15C</span> Programmable scientific calculator produce by Hewlett-Packard

The HP-15C is a high-end scientific programmable calculator of Hewlett-Packard's Voyager series produced between 1982 and 1989.

<span class="mw-page-title-main">HP-16C</span> Programmable calculator produce by Hewlett-Packard

The HP-16C Computer Scientist is a programmable pocket calculator that was produced by Hewlett-Packard between 1982 and 1989. It was specifically designed for use by computer programmers, to assist in debugging. It is a member of the HP Voyager series of programmable calculators. It was the only programmer's calculator ever produced by HP, though many later HP calculators have incorporated most of the 16C's functions.

Texas Instruments TI-36 is a series of scientific calculators distributed by Texas Instruments. It currently represents the high-end model for the TI-30 product lines.

<span class="mw-page-title-main">HP 20b</span>

The HP 20b Business Consultant is a financial calculator published in 2008 by Hewlett-Packard. Its function is similar to HP 10bII and includes scientific and statistical functions.

<span class="mw-page-title-main">HP-55</span>

The HP-55 was a programmable handheld calculator, a lower-cost alternative to the HP-65. Introduced by Hewlett-Packard in 1975, it featured twenty storage registers and room for 49 keystroke instructions. Its outward appearance was similar to the HP-65, but its silver band went through between the display and the keyboard like HP-45, and the functions of some keys were different from HP-65, and it did not have a magnetic card reader/writer. Like all Hewlett-Packard calculators of the era and most since, the HP-55 used Reverse Polish Notation (RPN) and a four-level automatic operand stack.

<span class="mw-page-title-main">HP-21</span> Scientific calculator by Hewlett-Packard

The HP-21 was a scientific calculator produced by Hewlett-Packard between 1975 and 1978. It was designed as a replacement for the HP-35, and was one of a set of three calculators, the others being the HP-22 and HP-25, which were similarly built but aimed at different markets.

<span class="mw-page-title-main">HP-22</span> Finance calculator by Hewlett-Packard

The HP-22 was a finance-oriented pocket calculator produced by Hewlett-Packard between 1975 and 1978. It was designed as a replacement for the short-lived HP-70, and was one of a set of three calculators, the others being the HP-21 and HP-25, which were similarly built but aimed at different markets.

References

  1. 1 2 3 Nass, Rich (2008-02-01). "Tear Down: Scientific calculator boils design down to two ICs". embedded.com. Archived from the original on 2024-05-26. Retrieved 2021-05-25. Subsequent archived pages:
  2. Horn, Joseph K. (2017-09-02). "How rare is the 35s Anniversary Edition?". Archived from the original on 2017-09-06. Retrieved 2017-09-06.
  3. 1 2 3 4 5 Thimet, Tony. "Hewlett-Packard HP 35s". Archived from the original on 2013-04-29. Retrieved 2013-06-08.
  4. "HP-18C". The Museum of HP Calculators. Archived from the original on 2013-09-23. Retrieved 2011-09-24.
  5. 1 2 3 4 "HP 35s scientific calculator - User Guide" (PDF). Hewlett Packard. February 2007. Archived from the original (pdf) on 2013-03-02. Retrieved 2013-06-08.
  6. 1 2 3 4 Wright, Gene (May 2011). "The HP 35s" (PDF). Handheld and Portable Computer Club. Archived from the original (pdf) on 2013-09-14. Retrieved 2009-12-29.
  7. "HP Calculator Emulator program". Hewlett-Packard. Archived from the original on 2013-07-02. Retrieved 2017-04-05.
  8. Osbourn, Chris (2007-12-17). "Hewlett-Packard HP 35s". Archived from the original on 2013-10-29. Retrieved 2013-10-27.
  9. 1 2 3 Vorkoetter, Stefan (2010-07-09). "Review: HP 35s Programmable Scientific Calculator". Archived from the original on 2013-03-23. Retrieved 2008-03-12.
  10. 1 2 3 Graybill, Mark. "HP 35s Scientific Calculator Review". Archived from the original on 2013-06-15. Retrieved 2011-07-15.
  11. Elliott W. Jackson (2009-02-08). "My review, HP 35s". Museum of HP Calculators. Archived from the original on 2013-04-07. Retrieved 2013-06-11.
  12. Kerber, Ted J. (August 2007). "The HP 35 Then and Now". Professional Surveyor Magazine. Archived from the original on 2015-01-03. Retrieved 2015-01-03.
  13. Dale, Paul (2015-11-20) [2007]. "HP-35s bug list". The Museum of HP Calculators. Archived from the original on 2015-10-02. Retrieved 2010-02-28.
  14. "Hewlett Packard". American Society for Engineering Education. Archived from the original on 2013-12-13. Retrieved 2013-12-09.
  15. "HP 33s Scientific Calculator User's Guide" (PDF). November 2004. Retrieved 2013-07-31.
  16. "HP 35s: Working with vectors" (PDF). Hewlett-Packard.
  17. "HP 35s: Indirect register data packing program" (PDF). Hewlett-Packard.
  18. Hazelton, Bill (March 2008). "Programming and Working with Indirectly Addressed Memory on the HP 35s" (PDF). Retrieved 2019-01-22.