Ziel

Du weißt, wie der TI-59 Programm und Daten im selben Speicher unterbringt und wie eine Zahl darin aussieht.

Der Speicher

Der Datenspeicher des TI-59 besteht aus 120 Registern zu je 16 Ziffern (Nibbles, je 4 Bit), also 8 Bytes – zusammen 960 Bytes. Gemessen am emulierten Rechner, Register für Register:

Inhaltwo er liegt
Programmschritt nRegister n ÷ 8, Byte n mod 8 – Schritt 000 im untersten Byte von Register 0
Speicher n (STO n)Register 119 − n – Speicher 00 ist das oberste Register

Programme wachsen also von unten, Speicher von oben. Dazwischen liegt die Grenze, die Op 17 verschiebt: In der Grundeinstellung gehören die Register 0 bis 59 dem Programm (480 Schritte) und 60 bis 119 den Speichern 59 bis 00. Ein Zehnerpaket Speicher sind zehn Register, also 80 Programmschritte – genau der Abstand zwischen 479.59 und 719.29 in Lektion 4.3.

Auch die vier Kartenbänke sind nichts anderes als Viertel dieses Speichers: je 30 Register oder 240 Bytes. Bank 1 enthält die Programmschritte 000–239. In der Grundeinstellung kennzeichnet der TI-59 beim Schreiben Bank 1 und 2 als Programm und Bank 3 und 4 als Daten – so steht es im Kopf der Karte.

Ein Programmschritt liegt als BCD-Byte im Register: Nach x² + 1 stehen im untersten Register die Ziffern …018533 – von rechts gelesen 33, 85, 01.

Zahlen

Eine Zahl belegt ein ganzes Register: 13 Ziffern Mantisse, 2 Ziffern Exponent und eine Ziffer für die Vorzeichen. Von der höchsten Ziffer (links) zur niedrigsten:

d d d d d d d d d d d d d  e e  s
└──────── Mantisse ──────┘ └Exp┘ └ Vorzeichen: +2 = Mantisse negativ, +4 = Exponent negativ

Gemessen, nach STO in einen Speicher:

ZahlRegister
3,141593141590000000000
−2,52500000000000002
12341234000000000030
0,0011000000000000034
1 EE 451000000000000450
1 EE −451000000000000454

Die Mantisse ist normiert (eine Ziffer vor dem Komma), der Exponent steht als zwei BCD-Ziffern daneben. Die Anzeige zeigt nur 10 der 13 Mantissenziffern – der Rechner rechnet intern genauer, als er anzeigt. Deshalb bleibt bei Fix das volle Ergebnis erhalten (Lektion 2.2).

Üben

  1. Lies aus 5000000000000020 die Zahl ab.
  2. Wie sieht −0,02 im Register aus?

Probe

Wie viele Zahlen und wie viele Programmschritte passen auf eine Kartenbank? Begründe mit der Registergröße.

Rückblick

120 Register × 8 Bytes, Programm von unten, Speicher von oben, Grenze per Op 17, Zahlen als 13-stellige BCD-Mantisse mit Exponent und Vorzeichenziffer.

Lösungen: Üben 1: 5 × 10² = 500. Üben 2: 2000000000000026 (Mantisse 2, Exponent 02, beide Vorzeichen: 2 + 4). Probe: 30 Register – also 30 Zahlen oder 240 Programmschritte.

Weiter mit Lektion 6.3: Takt, Tastatur und Drucker · zurück zu Lektion 6.1 · Kursübersicht