Was kann der DM42 mehr?

Nachdem ich erklärt habe, warum das Programmieren auf einem der ersten programmierbaren Taschenrechner so schwer war, ist sicher nachvollziehbar, was die nachfolgend aufgeführten Eigenschaften für enorme Vorteile brachten.

Labels

Stellenmarkt
  1. Microsoft Azure Security Consultant (w/m/d)
    HanseVision GmbH, Hamburg, Karlsruhe, Bielefeld (Home-Office möglich)
  2. SAP BW Inhouse Berater (m/w/d) mit Schwerpunkt SAC
    Radeberger Gruppe KG, Frankfurt am Main, Dortmund
Detailsuche

Anstatt bei Sprüngen direkt auf Schritte - beim DM42 kann man sogar schon von Zeilen sprechen - zu zeigen, ist es beim DM42 möglich. Labels zu verwenden. Das sind alphanumerische Markierungen, die ich überall im Code platzieren kann. Sie können mit dem GOTO-Befehl direkt angesprungen werden. Dabei kann sogar zwischen lokalen alphanumerischen (A - J und a - e), lokalen zweistelligen numerischen und globalen alphanumerischen (kleine und große Buchstaben, bis sieben Stellen) unterschieden werden. Es gibt sogar die indirekte Adressierung, bei der das aufzurufende Label in einer Variablen oder einem Register stehen kann.

Die Verwendung von Labels hat den enormen Vorteil, dass ich mir beim Korrigieren von Programmen keinerlei Gedanken mehr um das durch Codeänderungen notwendige Anpassen von Sprungadressen machen musste! Ein weiterer, nicht zu unterschätzender Vorteil ist die Möglichkeit, Labels mit alphanumerischen Bezeichnungen zu versehen. Da schon der HP-42S über 6.000 Bytes und der DM42 sogar über 70.000 Bytes frei zum Programmieren hat, würde man ohne 'sprechende' Labels und Variablennamen im Programmcode hoffnungslos die Übersicht verlieren.

Indirekte Adressierung

Anstatt beim Ansprechen eines Labels oder Speicherregisters das Label oder Register direkt angeben zu müssen, kann der Name des Labels in einer Variablen oder die Nummer des Registers in einem anderen Register gespeichert werden. Nun wird beim Ansprechen dieses Register angegeben und der dort gespeicherte Wert als eigentliche Adresse verwendet. Das ist zum Beispiel gut, wenn ich automatisch eine Reihe von Registern bearbeiten will.

Schleifen

Golem Karrierewelt
  1. Jira für Systemadministratoren: virtueller Zwei-Tage-Workshop
    08./09.09.2022, virtuell
  2. Einführung in Unity: virtueller Ein-Tages-Workshop
    13.10.2022, Virtuell
Weitere IT-Trainings

Neben den üblichen Methoden, ein Stück des Codes mehrfach zu durchlaufen, unterstützt der HP42 so eine Art for-Schleifen. Die Funktionen dazu heißen DSE (decrement; skip if less than or equal to) und ISG (increment; skip if greater than). Beide interpretieren eine Dezimalzahl in einer Variablen in der Form ccccccc,fffii als Zähler (ccccccc), Endwert (fff) und Schrittweite (ii). Taucht eine der beiden Funktionen im Programmcode auf, wird die passende Prüfung vorgenommen und, falls wahr, der nächste Befehl übersprungen. Das heißt, der nächste Befehl sollte ein 'GTO' an den Anfang der Schleife sein.

Bedingungen

Wie schon beim Absatz über den PR 56 D-NC angedeutet, unterstützen modernere programmierbare Taschenrechner deutlich mehr als eine Vergleichsmöglichkeit. Beim DM42 ist alles enthalten, was das Herz begehrt. Das Register X kann mit 0 oder dem Register Y verglichen werden und es stehen gleich und ungleich, kleiner, kleiner gleich, größer, größer gleich zur Verfügung. Das sollte reichen, jede gerade gedachte Bedingung, ohne sie umformen zu müssen, direkt zu prüfen.

Unterprogrammebenen

Der DM42 unterstützt bis zu acht Unterprogrammebenen. Das macht es einfach, ein Programm in viele Teilprogramme zu unterteilen oder sowieso oft verwendete Funktionen einmalig zu programmieren und anschließend in vielen anderen Programmen einfach wiederzuverwenden. Ich muss aber beim Programmieren von Unterprogrammen aufpassen, dass ich nicht Register verwende, die in anderen Unterprogrammen oder im Hauptprogramm verwendet werden.

Flags

Wenn ein Programm ein wenig komplizierter ist, als einfach nur eine Formel abzuarbeiten, kommt es oft vor, dass ich einen Status von irgendetwas festhalten will, um später im Programm auf diesen zu prüfen. In solchen Fällen nutze ich in modernen Programmiersprachen den Boolean-Datentyp.

Beim PR 56 D-NC musste ich dazu ein ganzes Register verbrauchen. Ich speicherte 1 für True und 0 für False. Wenn ich den Status von zwei verschiedenen Irgendetwas speichern will, benötige ich zwei Register oder ich denke mir einen mehr oder weniger tollen Code aus, um in einem Register zwei verschiedene Irgendetwas speichern zu können.

Beim DM42 könnte ich dazu die Bitfunktionen verwenden. Aber das ist gar nicht notwendig, weil der DM42 sogenannte Flags unterstützt, die genau für dieses Problem geschaffen worden sind. Ich kann Flags setzen (SF), löschen (CF) und abfragen (FS?) und (FC?).

Vom DM42 lässt sich also einiges über Computer und Programmierung lernen. Bei mir kommt noch die Nostalgie dazu, die mich beim Ansehen der alten Mnemonics im PRGM-Modus ergreift. Sie ruft Erinnerungen an vergangene Nächte hervor, in denen ich meinem Taschenrechner die letzten Geheimnisse entlockte und ich in mühevoller Auseinandersetzung mit meinem Code irgendwann mein Programm erfolgreich zum Laufen brachte, was immer ein großes Glücksgefühl in mir auslöste.

Dieser Artikel erschien zuerst im Blog Steinlaus.de. Für Golem.de wurde er umfassend überarbeitet.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Die schlechtesten Programmiermöglichkeiten meines Lebens - und ihre Verbesserung
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5


superdachs 19. Jul 2022 / Themenstart

Weil der HP49 ein CAS Rechner, und damit in den wenigsten Fällen in Schule und Studium...

superdachs 19. Jul 2022 / Themenstart

Raspberry Pie: Linux und damit im Prinzip ja die einfachste Möglichkeit. Man kann jede...

PlanNine 12. Jul 2022 / Themenstart

Ich habe angefangen mit dem CASIO FX-501P oder FX-502P. Ich hatte diesen Adapter mit dem...

JensBerlin 12. Jul 2022 / Themenstart

Und ihn programmiert, um die Fakultät einer Zahl mit allen Stellen auszurechnen...

Kommentieren



Aktuell auf der Startseite von Golem.de
Elon Musk und Manchester United
Der Meme-Lord braucht die Blutgrätsche

Wenn Musk twittert, zittern die Anleger und nun auch Fußball-Fans. Wie sich der Milliardär endgültig ins Abseits bewegt und wie die Öffentlichkeit damit umgehen sollte.
Ein IMHO von Lennart Mühlenmeier

Elon Musk und Manchester United: Der Meme-Lord braucht die Blutgrätsche
Artikel
  1. Anti-Scalper: Amazon verkauft Playstation 5 nur noch mit Einladung
    Anti-Scalper
    Amazon verkauft Playstation 5 nur noch mit Einladung

    Prime ist nicht mehr nötig, aber dafür eine Einladung: Wegen anhaltender Lieferengpässe hat Amazon den Bestellvorgang bei der PS5 geändert.

  2. Shitexpress, Genesis, Anno 1800: Dienst gehackt, mit dem anonym Exkremente verschickt werden
    Shitexpress, Genesis, Anno 1800
    Dienst gehackt, mit dem anonym Exkremente verschickt werden

    Sonst noch was? Was am 17. August 2022 neben den großen Meldungen sonst noch passiert ist, in aller Kürze.

  3. Post-Quanten-Kryptografie: Die neuen Kryptoalgorithmen gegen Quantencomputer
    Post-Quanten-Kryptografie
    Die neuen Kryptoalgorithmen gegen Quantencomputer

    Die US-Behörde NIST standardisiert neue Public-Key-Algorithmen - um vor zukünftigen Quantencomputern sicher zu sein.
    Eine Analyse von Hanno Böck

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 bestellbar bei Amazon & Co. • MSI Geburtstags-Rabatte • Neuer Saturn-Flyer • Game of Thrones reduziert • MindStar (MSI RTX 3070 599€) • Günstig wie nie: MSI 32" WHD 175 Hz 549€, Zotac RTX 3080 12GB 829€, Samsung SSD 1TB/2TB (PS5) 111€/199,99€ • Bester 2.000€-Gaming-PC[Werbung]
    •  /