Ich habe hier
http://retrocalculator.com/software/#YATZ9816
ein Beispielprogramm (YATZ 9816) gefunden, das für einen HP 9816
geschrieben wurde und heruntergeladen werden kann. Ist das die
Programmiersprache, um die es geht? Laut Autor ist es Rocky Mountain
BASIC 2.0, also genau das, was auch Helmut S. vermutete.
Das ist in einen Augen aber keine Mischung aus C und Assembler, sondern
eher eine aus 80er-Jahre-BASIC und Fortran 77. Aber sehr schwierig ist
die Sprache wirklich nicht, da hat Karl Heinz völlig recht. Die meisten
Konstrukte sollten doch auch für den Nicht-BASIC-Kundigen selbsterklä-
rend sein:
FOR i=1 TO n … NEXT i Zählschleife
IF a>0 THEN … ELSE … END IF Bedingte Ausführung
WHILE a>0 … END WHILE Schleife mit Prüfung am Anfang
REPEAT … UNTIL a>0 Schleife mit Prüfung am Ende
SELECT x CASE 1 … CASE 2 … END SELECT Switch-Case in C
GOTO label Sprung zu Sprungmarke
label: Sprungmarke
GOSUB label Unterprogrammaufruf (old-style)
RETURN Rückkehr aus Unterprogramm
uprog(10) Unterprogrammaufruf mit Argument
SUB uprog(INTEGER x) … SUBEND Unterprogrammdef. mit Argumenten
INTEGER x Variablendeklaration
DIM a[10] Arraydimensionierung
a(3) Array-Zugriff
var$ Stringvariable
! Kommentar Kommentar
…; …; … Mehrere Anweisungen pro Zeile
str1 & str2 Konkatenation von Strings
Die eingebauten Befehle und Funktionen erklären sich meist durch ihren
Namen. Die, bei denen dies nicht der Fall ist, sind oft auch nicht so
wichtig ;-)
Eine Besonderheit dieses BASIC-Dialekts sind die COM-Konstrukte, mit
denen globale Variablen deklariert werden. Sie entsprechen funktionell
und syntaktisch (bis auf den Namen) den COMMON-Blöcken in Fortran 77.
Beispiel:
COM name var1, var2, var3
Der (optionale) Name zwischen den beiden Schrägstrichen ist so eine Art
Namespace, über den dieser Block globaler Variablen aus anderen Pro-
grammteilen referenziert werden kann.
Eine ausführlichere Erklärung der COMMON-Blöcke findet sich bspw. hier:
http://www.obliquity.com/computer/fortran/common.html
So, damit ist jeder, der diesen Beitrag gelesen hat (einschließlich mir
selbst, der die Sprache vorher auch nicht kannte) und noch etwas eigenen
gesunden Menschenverstand mit einbringt, ein mindestens durchschnitt-
licher RMP-Prgrammierer und kann künftig auch in Bewerbungen damit prah-
len ;-)
Viel Spaß beim Reverse-Engineering alter HP-9816-Programme :)