# HP-10C-Serie

Die Taschenrechner der HP-10C-Serie („Voyager“) wurden von Hewlett-Packard (HP) im Jahr 1981 als Nachfolger der Dreißiger-Serie auf den Markt gebracht. Die Serie umfasst die Modelle HP-10C, HP-11C, HP-12C, HP-15C und HP-16C, die alle ein nahezu identisches äußeres Erscheinungsbild im charakteristischen Querformat aufweisen; nur beim HP-12C ist das metallische Oberteil gold- statt silberfarbig. Auch Anzahl, Größe und Anordnung der Tasten sind identisch, sie unterscheiden sich lediglich in der Belegung. Alle Rechner der Voyager-Serie sind mit der gleichen 10-stelligen LC-Anzeige ausgestattet, für die Stromversorgung werden erstmals bei HP-Rechnern Knopfzellen (drei Stück des Typs LR 44) verwendet. Sämtliche Modelle sind programmierbar, haben aber keinerlei Schnittstellen – weder das externe Speichern und Laden von Programmen noch das Anschließen von Druckern oder anderen Erweiterungen ist möglich. Als Eingabemethode verwenden die Rechner die umgekehrte polnische Notation (UPN).

## Modelle

Die HP-10C-Serie umfasst fünf Modelle (mit dem Jahr ihrer Produktion):
* HP-10C – Mathematisch-naturwissenschaftlicher Taschenrechner; Basismodell (1982–1984)
* HP-11C – Mathematisch-naturwissenschaftlicher Taschenrechner; mittlere Anforderungen (1981–1989)
* HP-12C – Finanzmathematischer Taschenrechner (1981–heute)
* HP-15C – Mathematisch-naturwissenschaftlicher Taschenrechner; hohe Anforderungen (1982–1989)
* HP-16C – Taschenrechner für Computerprogrammierer (1982–1989)
Die Modelle HP-11C und HP-12C wurden als erste Modelle der Serie am 1. September 1981 vorgestellt, HP-15C und HP-16C folgten am 1. Juli 1982 und der HP-10C zwei Monate später am 3. September 1982. Während die Serie im Jahr 1989 weitgehend auslief, ist der HP-12C – mit aktualisiertem Innenleben – bis heute erhältlich.

### HP-10C

Der HP-10C diente als Basismodell für einfache mathematisch-naturwissenschaftliche Problemstellungen und ist in dieser Baureihe das Modell mit der kleinsten Ausstattung. Der HP-11C stellte die größte innere Konkurrenz zum HP-10C dar, da er für einen verhältnismäßig geringen Aufpreis (der HP-10C kostete 80 US-$) einen etwa doppelten Leistungsumfang bot. Schlechte Verkaufszahlen bescherten daher dem HP-10C nur eine kurze Verweildauer am Markt, bereits 1984 wurde die Produktion eingestellt. Er ist daher sicherlich das seltenste Modell dieser Baureihe.

### HP-11C

Der HP-11C ist ein mathematisch-naturwissenschaftlicher Taschenrechner für mittlere Anforderungen. Gegenüber dem HP-10C sind hyperbolische Funktionen, ein Pseudo-Zufallszahlengenerator und Funktionen für die Wahrscheinlichkeitsrechnung hinzugekommen, der Speicher ist etwa doppelt so groß. Für die Programmierung stehen 15 Labels, 8 Vergleichsoperationen (statt nur 2 wie beim HP-10C), Unterprogramme (4 Ebenen), indizierte Adressierung und zwei Flags zur Verfügung. Der Speicher umfasst 30 Register zu je 7 Byte, von denen eines fest dem Indexregister I zugeordnet ist; die übrigen Register ermöglichen bis zu 203 Programmschritte, oder aber bis zu 20 Datenspeicher bei 63 Programmschritten, die automatisch umgewandelt werden. Der HP-11C kostete 1981 135 US-$, 1989 noch 56 US-$.

### HP-12C

Der HP-12C ist ein weit verbreiteter, programmierbarer finanzmathematischer Taschenrechner. Mit ihm lassen sich neben umfangreichen Grundfunktionen diverse gängige Berechnungen – auch iterativer Art – der Finanzmathematik durchführen: Interner Zinsfuß, Annuitäten, Barwert und Endwert, sowie Amortisationsrechnungen. Im Jahr 2003 kam zusätzlich der HP-12C Platinum auf den Markt, der einige zusätzliche Funktionen und ein überarbeitetes Design (platinfarben) aufweist. Der 12C wird – als einziges Modell der hier beschriebenen Rechnerserie – seit 43 Jahren äußerlich und funktional unverändert produziert, was für ein Gerät der Informationstechnik, speziell für einen Taschenrechner, einzigartig sein dürfte.

### HP-15C

Der HP-15C galt als High-End-Taschenrechner, zusätzlich zum HP-11C bietet er Nullstellenbestimmung, numerische Integration, Rechnen mit komplexen Zahlen und umfangreiche Matrizenfunktionen. Er war der Nachfolger des erfolgreichen HP-34C und erweiterte dessen Funktionsumfang nochmals erheblich.
Der Speicherbereich – gegenüber dem 11C wiederum etwa verdoppelt – lässt sich auf Daten- und Programmspeicher verteilen und wird dynamisch verwaltet. Eine komplette Neuheit waren die Matrizenfunktionen für bis zu fünf Matrizen, welche allesamt elegant in die UPN-Logik eingebettet waren. Berechnungen mit komplexen Zahlen sind durch einen zweiten Stack genau wie mit reellen Zahlen möglich, mit exakt der gleichen Nutzung aller vier Stackregister. Bei seinem Erscheinen kostete der HP-15C 135 US-$. Wegen seiner hohen Leistungsfähigkeit ist der 15C ein sehr gefragtes Gebrauchtgerät und erzielt heute Preise, die betragsmäßig über dem damaligen Neuwert liegen. 2011 wurde ein äußerlich und funktional identischer, aber mit neuem Innenleben ausgestatteter Nachfolger von Hewlett Packard auf dem US-Markt als „Limited Edition“ verkauft; 2023 folgte eine „Collector's Edition“.

### HP-16C

Der HP-16C ist der erste und einzige Taschenrechner von HP speziell für Programmierer (z. B. mit Verschiebe- und Rotieren-Funktionen, einstellbarer Wortlänge und Komplementdarstellung etc.) Er ermöglichte das Darstellen und Umrechnen der verschiedenen Zahlensysteme untereinander (DEC-BIN-HEX-OCT) sowie logische Verknüpfungen und ließ sich insbesondere dafür einsetzen, assemblernahe Rechenschritte nachzuvollziehen.
Bei seinem Erscheinen kostete der HP-16C 150 US-$, die später auf 120 US-$ gesenkt wurden.
Texas Instruments brachte bereits 1977 den TI Programmer, Casio bot mit dem CM-100 einen solarbetriebene Rechner mit ähnlichem Funktionsumfang an.

## Technologie

Die „Voyager“-Rechner wurden u. a. mit dem Ziel geringen Energiebedarfs entwickelt. So wurden die Leckströme der verwendeten CMOS-Schaltkreise auf das technologisch Mögliche reduziert. Ziel der Designer war, mit einem Batteriesatz drei bis sechs Monate arbeiten zu können: In der Praxis erreichten die Rechner üblicherweise mehrere Jahre mit einem Batteriesatz, wobei die Geräte keine mechanische Unterbrechung des Stromkreises besitzen.

## Interner Aufbau

Die registerweise Organisation des Speichers resultiert aus der Auswahl einer CPU mit intern 56 Bit breiten Registern, eine Variante der CPU des HP-41. Diese Wortbreite ergab sich aus dem Platzbedarf für zehn Ziffern in BCD-Darstellung (je 4 Bit), zwei Ziffern für den Exponenten, sowie die beiden Vorzeichen von Mantisse und Exponent, die ebenfalls je 4 Bit belegen. Auf Maschinenebene lassen sich einzelne Bits, Stellen, Gruppen von Zahlen (z. B. die komplette Mantisse) oder aber Bytes – für die Interpretation als Programmbefehle – ansprechen. Der Speicher wird seriell adressiert. Für das ROM kommt abweichend von diesem Konzept eine wortweise Adressierung mit 10 Bit Länge zum Einsatz.

## Arithmetik

Eine der weniger bekannten Eigenschaften dieser Baureihe ist die Qualität der eingebauten, wie auch schon in früheren Modellen auf BCD basierenden Arithmetik. Hewlett-Packard konnte hierfür William Kahan von der UC Berkeley gewinnen, den Architekten des IEEE 754-Standards für Gleitkommaarithmetik, um die numerischen Algorithmen zu entwerfen. Er schrieb auch Teile der Betriebsanleitungen.

## Programmierung

Die Rechner der Serie sind tastenprogrammierbar, d. h., eine Serie von Tastenbetätigungen wird abgespeichert und kann später zurückgerufen werden. Für Programmverzweigungen stehen bedingte Verzweigungen, Schleifensteuerungsbefehle und mehrere (bis zu 7) Unterprogrammebenen zur Verfügung. Eine alphanumerische Anzeige gibt es aber nicht, so dass eine Taste oder Tastenfolge immer noch durch Ziffern dargestellt wird, wie z. B. 42.21.14 für „LBL D“ auf einem HP-15C.
Die einzelnen Funktionen unterschieden sich wie folgt:
| Funktion | HP-10C | HP-11C | HP-12C | HP-15C | HP-16C |
| LBL | nein | ja | nein | ja | ja |
| GSB/RTN | nein | ja | nein | ja | ja |
| x≤y, x=0 | ja | ja | ja | ja | ja |
| x=y, x≠y | nein | ja | nein | ja | ja |
| x<0, x≠0, x>y, x>0 | nein | ja | nein | ja | ja |
| x>0, x≤0, x≥y, x≥0 | nein | nein | nein | ja | nein |
| DSE, ISG | nein | ja | nein | ja | nein |
| DSZ, ISZ | nein | nein | nein | nein | ja |
| SF, CF, F? | nein | ja | nein | ja | ja |
| I (I) | nein | ja | nein | ja | ja |
* ↑ Die Funktion LBL n (Label, n=0…9 oder A…E) markiert das Sprungziel für eine GTO oder GSB-Anweisung. Die LBL-Anweisung verschiebt sich beim Kürzen und Einfügen von Programmzeilen mit dem zugehörigen Programmcode, so dass weder eine nachträgliche Umnummerierung der GTO- und GSB-Befehle noch eine No-Operation-Funktion (NOP) erforderlich ist.
* ↑ GSB (Go Subroutine) und RTN (Return from Subroutine) erlauben die Erstellung von Unterprogrammen.
* 1 2 3 Über g TEST n. Die Funktionen „gleich“ und „ungleich“ arbeiten beim HP-15C auch auf komplexen Argumenten und Matrizen.
* 1 2 Die Funktionen dienen der Schleifensteuerung, wobei eine Zahl in einem Register als Kontrollvariable benutzt wird; D (Decrement) zählt von einem Startwert herunter und I (Increment) zählt von einem Startwert hoch. SZ (Skip if Zero) steht für Zählen in 1er Schritten, bis die 0 erreicht ist, und SE (Skip if Equal) erlaubt Zählen zu einem wählbaren Wert in einer wählbaren Schrittweite. Die Werte werden über den Nachkommateil im Kontrollregister eingestellt und als ganzzahlige Werte interpretiert. So arbeitet sich DSE bei einem Startwert 9876,54321 mit jedem Aufruf in Schritten von 21 von 9876 auf den Endwert 543 vor. Ist der Nachkommateil 0 so verhalten sich DSE/ISE wie DSZ/ISZ.
* ↑ Das Indexregister erlaubt flexiblere Registeradressierung, wie die Verwendung von Feldern (Arrays).

## Bewertung und Weiterentwicklung

Die „Voyager“-Rechner zeichnen sich, insbesondere im Vergleich zu ihrer Vorgängergeneration, durch hohe Fertigungsqualität aus und sind vielfach auch im Alter von über 30 Jahren noch im Einsatz. Obwohl die Technologie veraltet ist, erzielen die Displays dieser Rechner bessere Kontraste als moderne Matrixanzeigen. Gebrauchte Geräte der Serie sind sehr gefragt, so erzielen etwa der HP-11C und der HP-15C regelmäßig Gebrauchtpreise deutlich über dem Neupreis heutiger Taschenrechner. Zudem gibt es zahlreiche Emulator-Programme für verschiedene Betriebssysteme, unter anderem auch für Smartphones.
Die Erfahrung insbesondere mit dem Funktionsumfang des HP-15C und der Vergleich mit dem HP-41 zeigte aber auch, dass das Konzept des tastenprogrammierbaren Rechners mit lediglich numerischer Anzeige ausgereizt war. Die Weiterentwicklung führte daher in der zweiten Hälfte der 1980er Jahre zu einer objektorientierten, höheren Programmiersprache (RPL) und den darauf basierenden Rechnern HP-28C/S, HP-48 und deren Nachfolgern.