Hallo, ich habe ein großes Problem. Zwecks meiner Diplomarbeit muss ich mich in eine wohl aus der Steinzeit kommende Bedienungsanleitung eines technischen Gerätes quälen. Ich bin hier kurz vor der Aufgabe und überlege das Thema zu wechseln. Um die Situation vielleicht doch noch in den Griff bekommen zu können benötige ich wissen zu einer Programmierspache die hier zu jeder Theorie als praktisches Beispiel abgedruckt ist. Sie ist auf einem HP 9816 Rechner geschrieben, beinhaltet also wahrscheinlich Code in einer alten Basic Variante. Für mich scheint sie aus einer Mischung aus C und Assembler zu bestehen. Im Internet bekamm ich in Sachen alte Basic Versionen nicht viel mehr als die Information das man Rechner früher nur zum Programmieren kaufte und somit immer eine Basic version beilag, diese Version varrierte stark...so das es heute extrem viele Basicversionen gibt. Kennt sich hier wer gut mit dem HP 9816 aus und kann mir eine gute Informationsquelle nennen um den Code hier endlich ordentlich verstehen zu können? Liebe Grüße
Übertreib nicht. Es stimmt schon, dass die Bandbreite dessen was sich BASIC nannte ziemlich weit gesteckt war. Die grundlegenden Dinge waren aber immer gleich. Lediglich wenn es um irgendwelche gerätespezifischen Eigenheiten ging, wie zb Ansprechen einer Floppy oder Drucker oder direkter Zugriff ins Video-Memory, unterschieden sich die Dinger. Aber abgesehen davon galt die Devise: Kannst du 1 BASIC kannst du (mit Ausnahme dieser Besonderheiten) alle anderen BASIC's zumindest lesen.
Hier geht es bestimmt um das Rocky Mountain Basic (RMB) von HP. Wir hatten damals (1982+) hauptsächlich HP9836 Rechner zum Ansteuern von Messgeräten. Dises RMB ist um Welten besser als das schrottige Basic das es damals (1982-1992) von MS gab. Besonders gelungen ist bei dieser Sprache die Integration der Messgeräteansteuerung über HPIB(IEEE488, IEC-Bus, GPIB). Die Rechner hatten 680xx Prozessoren falls dir das etwas sagt. Alte Erinnerungen werden wach ... Lass dich wegen dem BASIC nicht entmutigen. Glaub mir das ist nicht schwerer zu verstehen als wenn du heute den C-Code lesen müsstest den vor 20 Jahren ein E-Techniker verbrochen hat. Einziger Wermutstropfen: RMB ist wohl heutzutage mausetot. Musst du denn die ganze Arbeit in RMB machen oder darfst du das auf eine andere Sprache/Hardware(PC) übertragen. http://en.wikipedia.org/wiki/Rocky_Mountain_BASIC Diese Firma versucht einen Migrationspfad auf PCs zu schaffen. Hab keine Ahnung wie gut das klappt. http://www.htbasic.com/index.asp
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 :)
Zum HP98xx Diskettenformat Es gibt das Programm LIFUTIL um die Disketten vom HP98xx auf einem PC zu lesen. http://www.home.agilent.com/agilent/editorial.jspx?cc=US&lc=eng&ckey=1000000786:epsg:sud&nid=-11143.0.00&id=1000000786:epsg:sud
Danke für eure Hilfe. Zum Glück muss ich garnichts in dieser alten Basic Sprache Programmieren. Controller (GPIB-->RS232) wird in C beschrieben und PC-Steuerung über Labview. Es handelt sich tatsächlich um die Ansteuerung eines GPIB Buses. Ihr habt auch recht das sich die meisten Befehle gut erklären lassen, den Grundcode hatte ich auch verstanden. Aber vorallem am Anfang hat man selbst sehr hohe Erwartungen an sich selbst. (will alles verstehen) ;-) Mit freundlichen Grüßen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.