DATAMATH  CALCULATOR  MUSEUM

Algebraic Operating System (AOS™)

When Texas Instruments introduced on September 16, 1975 with the SR-52 their programmable flagship calculator, it sported on the large keyboard not only promising keys like [SBR] and [if pos], the groundbreaking innovation of the calculator was hidden behind two unobtrusive [ ( ] and [ ) ] keys! Yes, Texas Instruments introduced with the SR-52 their revolutionary Algebraic Operating System (AOS™) to take away some of the steam of the ongoing discussions about the pros and cons of the Reverse Polish Notation (RPN) philosophy used with Hewlett-Packard's HP-35 introduced in July 1972 and considered the World's first pocket sized electronic calculator performing both logarithmic and trigonometric functions. In hindsight you might asked yourself why it took an engineering company like Texas Instruments that long to come up with AOS - which is still used with current scientific calculators like the TI-30Xa - and the answer is simple: "Transistor Count". While the order of operations in mathematics was established hundreds of years ago, took the realization of AOS a few years till enough memory space to store intermediate results of the pending operations was available.

Texas Instruments' first single-chip calculator circuit, the TMS1802 announced in September 1971 and later renamed to TMS0102, featured an overall complexity of roughly 5,000 transistors for its 3,520 Bits Read-Only program Memory (ROM, 320 Words x 11 Bits), a 182-bit Serial-Access Memory (SAM, 3 Registers * 13 Digits, 2 * 13 Bit-Flags) and a decimal arithmetic logic unit as well as control, timing, and output decoders. With only 3 Registers available to store numbers, early calculators used either Adding Machine Logic or Chain Logic for the calculations and lacked. The TMS0200 Building Blocks used with later Desktop Calculators expanded the Serial-Access Memory to 4 Registers allowing Enhanced Adding Machine Logic with a User Memory while the TMS1000 introduced with the SR-16 allowed with its 4 Registers for Enhanced Chain Logic with a User Memory. The TMC0501 introduced with the SR-50 Slide Rule calculator on January 15, 1974 sports 5 Registers and the always necessary TMC0520 chip contains another 2 Registers for a total of 7 Registers - still not enough for AOS but at least allowing Sum-of-Products Logic. But the SR-52 Programmable calculator added a lot of memory with its architecture based on the TMC0500 Building Blocks, actually 3,840 bits with the two TMC0599 Multi-Register chips used on its printed circuit board. Each of the two Multi-Register chips can store up to 30 numbers or 240 program steps and the SR-52 dedicated a sizeable fraction of one of the TMC0599 chips for 10 AOS Registers.

While AOS requires parentheses keys, do parentheses keys not necessarily demand AOS. MOS Technology introduced in 1974 with the MCS2525 and MCS2526 products a chip-set for Scientific calculators that supported two levels of parentheses keys and was marketed aiming squarely against Hewlett-Packard's Reverse Polish Notification Logic and Texas Instruments' Sum-of-Products Logic as "Peoples Logic". Looking closer into the implemented logic of this chip-set that found its way into products like the Bowmar MX-140, Commodore SR-36, SR-37 and SR-1400, Kings Point SC40, Melcor SC535 and many more, reveals a simple Enhanced Chain Logic with two Registers dedicated to manage up to two pending parentheses and operations.

Fast forward into August 2023, almost 50 years after the introduction of AOS, Texas Instruments' calculator product portfolio in the United States is with respect to their Operating System divided into two categories:

Algebraic Operating System (AOS): TI-30Xa, BA II Plus, BA II Plus Professional
Equation Operating System (EOS): TI-10, TI-15 Explorer, TI-30X IIS, TI-30XS MultiView, TI-34 MultiView, TI-36X Pro, TI-73 Explorer, TI-83 Plus, TI-84 Plus, TI-84 Plus CE, TI-89 Titanium,
                                                  TI-Nspire CX, TI-Nspire CX CAS, TI-Nspire CX II, TI-Nspire CX II CAS    

Order of Operations: In mathematics the order of operations are defined rules for the order of evaluating mathematical expressions to avoid any ambiguity while allowing notations being as brief as possible.
The simple key sequence [2] [x] [3] + [4] [x] [5] used with an electronic calculator could lead to different results without establishing these rules. Modern algebraic notation follows the PEMDAS approach, meaning the following hierarchy is used in the evaluation of expressions:

1) Parentheses
2) Exponentiation 
3) Multiplication and Division  
4) Addition and Subtraction

The acronym PEMDAS is mainly used in the United States to memorize with the mnemonic phrase "Please Excuse My Dear Aunt Sally" the order of operations, Speakers of British English often use BODMAS, replacing parentheses with brackets and Exponents with Orders, while Canadian English speakers split the difference with BEDMAS. Anyway, parentheses are the tool to redefine the evaluation of mixed expressions like the example above:

(2 x 3) + (4 x 5) = 26
2 x (3 + 4) x 5 = 70
2 x [3 + (4 x 5)] = 46 etc.

Adding Machine Logic: The TMS1802 introduced in September 1971 did not even sport a [=] key, its [+=] and [-=] keys clearly demonstrated that the chip was designed to replace adding machines used in offices and not slide rules. Consequently were these two keys used to accumulate numbers in a register and some calculator designs even labeled the Clear key with [CA] for Clear Accumulator. With Adding Machine Logic the [+=] and [-=] keys always complete operations, meaning the key sequence [2] [x] [3] [+=] [4] [x] [5] [+=] is resulting in 20 from the evaluation of 4 x 5, the previous calculation of 2 x 3 = 6 was cleared in the moment the [4] key was pressed.

Side note: The [CHAIN-CONST] switch often used with TMS0100 single-chip calculator circuit designs is using the Constant Mode to simplify repeating multiplications and divisions but does no affect the outcome of the key sequence illustrated above.

Enhanced Adding Machine Logic: The TMS0200 introduced in 1973 and found for example in the TI-4000 Desktop calculator added with its 4 Registers a User Memory that allowed for mixed calculations with combinations of addition, subtraction, multiplication and division despit its [+=] and [-=] keys by using dedicated memory keys to balance the intermediate results. The key sequence [CM] [2] [x] [3] [M+] [4] [x] [5] [M+] [MR] is resulting in the expected result of 26 with the expense of some additional key strokes.

Side note: The [CHAIN-CONST] switch often used with TMS0100 single-chip calculator circuit designs is using the Constant Mode to simplify repeating multiplications and divisions but does no affect the outcome of the key sequence illustrated above.

Chain Logic: Later members of the TMS0100 single-chip calculator family like the TMS0119 used with the TI-2500 Datamath calculator introduced the concept of a separate [=] key to allow mixed calculations with combinations of addition, subtraction, multiplication and division in Chain Mode. The calculator will be cleared pressing a number key after the [=] key. The key sequence [2] [x] [3] + [4] [x] [5] [=] will be evaluated in the order of its entry and consequently resulting in 50 from the evaluation 2 x 3 = 6, 6 + 4 = 10 and 10 x 5 = 50. The TMS0120 used with the SR-10, TI's first scientific calculator, continued the approach of Chain Logic and the additional "scientific functions" squaring numbers, square root of numbers, and reciprocal of numbers immediately replace the displayed value with its functional value. A first, humble step towards AOS!

Enhanced Chain Logic: When Texas Instruments developed for the SR-16 "Slide Rule" calculator with the TMS1000 its first Digit Processor, it contained a 256-bit Random-Access Memory organized as 64 Digits or the equivalent of 4*16-digit Registers compared to the 182-bit Serial-Access Memory of the TMS0100 Register Processor. The SR-16 implemented with the "extra" register a User Memory to simplify complex mathematical calculations. Our Sum of products example would be entered as [2] [x] [3] [=] [STO] [4] [x] [5] SUM] [RCL]. Better but not perfect.

Sum-of-Products Logic: The SR-50 "Slide Rule" calculator introduced in January 1974 features a combined 7 Registers for number crunching, 5 Registers in the TMC0501 Arithmetic Chip and 2 Registers in the TMC0521 SCOM (Scanning and Read-Only Memory) Chip. Texas Instruments was able to not only include a User Memory with dedicated [STO], [RCL] and [SUM] keys but implementing a Sum-of-Products Logic, meaning entering the key sequence [2] [x] [3] + [4] [x] [5] [=] will be evaluated correctly as 26 and following the EMDAS part of PEMDAS. Yes, there ain't no parentheses keys on the SR-50 keyboard. A not so common Product of Sums calculation would use the User Memory, meaning evaluation of the (2 + 3) x (4 + 5) expression would require the key sequence [2] [+] [3] [=] [STO] [4] [+] [5] [=] [x] [RCL] [=]. Don't show this example to your friend using an HP-35 with its double-wide [ENTER] key, its not 12 keystrokes but 9: [2] [ENTER] [3] [+] [4] [ENTER] [5] [+] [x].

Side note: The SR-51 Scientific calculator was introduced in January 1975 to compete more directly with Hewlett-Packard's HP-45 while the SR-50 was aimed squarely against the very successful HP-35 and added a second SCOM Chip to the SR-50 design resulting in a total of 9 Registers. But still no parentheses, just adding two additional User Memories or allowing to run mean, variance, standard deviation and linear regression routines. The 9 Registers of the SR-51 are used as follows:

Register 1-4: Used for standard calculator operations
Register 5: Holding Register for second operand of multiplication or division and second operand of two-variable functions  
Register 6: Sum-of-Products Register for intermediate results  
Register 7-9: Memory Registers M1, M2 and M3

Algebraic Operating System (AOS™): The Sum-of-Products Logic introduced with the SR-50 Scientific calculator consumed only one of the 7 Registers of its TMC0501 based architecture while the SR-52 Programmable calculator dedicated 10 of its additional 60 Registers buried in two TMC0599 Multi-Register chips for the groundbreaking Algebraic Operating System. These additional Registers allowed not only to implement the full PEMDAS approach but enabled the user of the SR-52 to enter up to nine pending parentheses and ten pending operations. Later implementations of AOS reduced the number of pending operations, the SR-56 and SR-51-II introduced in 1976 allow for 7 resp. 5 pending operations while maintaining the limit of nine pending parentheses. More recent AOS implementations like the TI-30Xa allow for 15 pending parentheses but only 4 pending operations (2 in STAT Mode).

The original Algebraic Operating System introduced in September 1975 with the SR-52 Programmable calculator defined the order of operations while evaluating mathematical expressions centered around the PEMDAS approach with a clearly defined algebraic hierarchy with just 6 levels:

1) Parentheses 
2) Single-Variable functions (trigonometric, logarithmic, square, square root, reciprocal etc)
3) Exponentiation, Roots 
4) Multiplication and Division  
5) Addition and Subtraction  
6) Equals ([=] key)

Later calculators featuring additional functionality like Statistical or Boolean calculations increased the hierarchy list accordingly and in August 2023 we compiled the following list while screening various calculator manuals:

1) Parentheses 
2) Single-Variable functions (trigonometric, logarithmic, square, square root, reciprocal etc)
3) Percent Change (Δ%)
4) Combinations and Permutations
5) Exponentiation, Roots 
6) Multiplication and Division  
7) Addition and Subtraction  
8) Equals ([=] key)

Equation Operating System (EOS™): At the same time the TI-81 Graphing calculator hit the market in May 1990, Texas Instruments seized the opportunity and modified the user interface of the calculator to better match the text books. While AOS expected for Single-Variable functions always first the argument and then the operations or functions, divided the TI-81 them into two categories:

Math operations and functions that are entered after the argument, such as x2 or x-1
Math and trig functions that are entered before the argument, such as -x or sin(x)

Together with additional improvements like Implied Multiplication like 3sin(5x) and replacement of the [=] key with an [ENTER] key, Texas Instruments defined for the newly developed Equation Operating System (EOS™) a hierarchy list for the order of evaluation of mathematical expression with 11 levels but still very similar to AOS:

1) Parentheses 
2) Polar/rectangular conversions, numerical derivative, round, and row operations
3) Math operations and functions that are entered after the argument, such as x2 or x-1
4) Exponentiation (Universal powers, such as ^)
5) Implied multiplication where the second argument is a number, a variable, or a matrix, such as 4X or sin (A+B)4
6) Math and trig functions that are entered before the argument, such as -x or sin(x)
7) Implied multiplication other than above, such as 3log4 or sin 4(A+B)
8) Permutations and combinations (nPr and nCr)
9) Multiplication and Division  
10) Addition and Subtraction  
11) Relational operators, such as >
12) Enter key

Within a priority group, EOS evaluates operations like AOS from left to right. If an expression contains two or more single-argument functions that precede the same argument, EOS evaluates them from right to left. Calculations inside a pair of parentheses are evaluated first.

With EOS meant for Graphing calculators, continued the success of AOS in the Nineties with Scientific and Financial calculators, Texas Instruments even implemented it with the TI-7 MathMate into a "four banger" calculator. It was the introduction of the TI-30X IIS in 1999 with its innovative 2-line display that brought EOS to Scientific calculators and with the available computing performance of even the cheapest single-chip calculator circuits and small dot-matrix displays being nowadays commodities, most of the newly developed calculators feature the Equation Operating System.

Scientific calculator like the TI-30XS MultiView introduced in 2007 even allow the user to witch between two modes called "MathPrint" mode with text book presentation or "Classic" mode emulating the TI-30X IIS.

Later calculators featuring additional functionality like Statistical or Boolean calculations increased the hierarchy list accordingly and the user manual of the TI-30X Pro MathPrint introduced in 2019 reads:

1) Parentheses 
2) Functions that need a ) and precede the argument, such as sin, log, and all R<>P menue items
3) Math operations and functions that are entered after the argument, such as x2 or x-1
4) Exponentiation (Universal powers, such as ^)
5) Negation (-)
6) Fractions
7) Permutations and combinations (nPr and nCr)
8) Multiplication, implied multiplication and Division  
9) Addition and Subtraction  
10) Logical functions and and nand
11) Logical functions or, xor, xnor
12) Conversions (n/d<>Un/d, F<>D, >DMS)
13) >STO
14) Enter key

Reverse Polish Notation (RPN): Think Hewlett-Packard's revolutionary HP-35.

horizontal rule

If you have additions to the above article please email: joerg@datamath.org.

© Joerg Woerner, August 19, 2023. No reprints without written permission.