Programmierung : Assembler


 

 

Seit Version 0.6 steht der Original-Assembler mit dem Original-Montierer des TR440 zur Verfügung. Dadurch sind auch die TR440-Mechanismen wie Montageobjekte etc. verfügbar. Mit dem Original-Assembler und dem Original-Montierer erzeugte Programme können auch im Trace-Modus ablaufen, das Trace-Protokoll enthält aber keine Quell-Bezüge, sondern besteht aus reinem Disassemblat.

Seit Version 0.7 stehen auch Makrobibliotheken zur Verfügung sowie die Standard-Makrobibliothek R&RAHMEN, so dass SPRACHE=TASR beim UEBERSETZE benutzbar ist.

 


 

Die folgenden Abschnitte sind nur für Leute gedacht, die sich für den Bootstrap-Vorgang des Emulators interessieren. Zum Programmieren eigener TAS-Programme sollte man die originalen #UEBERSETZE und #MONTIERE verwenden.

 


Aus Kompatibilitätsgründen steht aber auch weiterhin der ursprünglich für den Bootstrap-Vorgang entwickelte Emulator-eigene TAS-Assembler zur Verfügung (TAS = Telefunken Assembler Sprache), der Quell-kompatibel zum Assembler des TR440 ist.

Er übersetzt TAS-Quellen, die in Windows-Textdateien mit der Extension  .TAS  gespeichert sind.

Im Gegensatz zum TR440-Assembler erzeugt er aus den Quellen keine Montage-Objekte, aus denen dann der Montierer lauffähige Programme macht, sondern er erzeugt einen direkt lauffähigen Programmkörper. Daher enthält er einen zusätzlichen Include-Mechanismus, der das Einfügen von externen Unterprogrammen gestattet. Diese werden also jedesmal mit assembliert, anstatt anmontiert zu werden. Da der Emulator-Assembler etwa 300-mal so schnell ist wie der TR440-Assembler war, spielt das zeitlich keine Rolle (Die 16.000 Befehle des Kommando-Entschlüsslers werden z.B. in ca. 0,5 Sekunden assembliert).

Beim Assemblieren wird grundsätzlich immer eine gleichnamige Listing-Datei mit der Extension  .TLST  erzeugt, die nahezu identisch mit dem TR440-Assembler-Listing ist. Da kein Montierer-Schritt mehr nötig ist, enthält das Listing jedoch bereits die echten Programm-relativen Adressen.

Die TAS-Quellen werden normalerweise in dem Verzeichnis

C : \ TR440 \ Quellen

gespeichert, dieses Quell-Basisverzeichnis kann jedoch auch im Menü in den Einstellungen geändert werden. Die Assembler-Listings sind dann in dem Unterverzeichnis  Protokolle  zu finden. Sowohl Quellen als auch Listings können zum Bearbeiten bzw. Ansehen per Menü direkt an den Standard-Editor übergeben werden.

Im Emulator werden einige Quellen (auch komplette Programme) mit installiert, die teils als Anschauungsmaterial dienen (z.B. PRIMZAHLEN, PRIMZAHLEN2, PRIMZAHLEN3, PS&SSRTX, PS&TEXTAUSGB), teils aber auch aus Unterprogrammen bestehen, die schon am TR440 dazu benutzt wurden, Leistungen für TAS-Programmierer zu erbringen (z.B. R&RAHMEN, A&FSP, S&ALARM, S&DPRO, S&CC, S&SMFEHL etc.).

Wer ein eigenes TAS-Programm schreiben will, geht am besten von dem mitgelieferten Template  vorlage.tas  aus und schreibt dort seine Befehle entsprechend der Kommentare hinein.

Wichtige Abweichung vom Original-TAS-Assembler ist : der Emulator-Assembler versteht zwar mehrere Befehle in einer Zeile, aber ein Befehl kann nicht über das Zeilenende hinaus fortgesetzt werden.

Frisch assemblierte Programme bzw. solche, die im Zwischenspeicher 'ausführbar gemerkt' wurden, enthalten in ihrem Programmkörper für jedes Assembler-Element (Befehl oder Variable) entsprechende Quellverweise, so dass sie auf Quellebene mit Trace ausgeführt werden können.

Als Informationen zum Programmieren in TAS stehen zur Verfügung  die große Befehlsliste, das TAS-Handbuch, das Befehls-Lexikon und das Handbuch Systemdienste.

Ein in die Irre gelaufenes Programm kann entweder mittels  #XAN#.  angehalten und dann mit der Anweisung BEENDE#. abgebrochen werden oder mit Menü > Dialog > Programm abbrechen oder in schweren Fällen von Dauer-Schleife mit  CTRL Break  in den Trace-Einzelschritt-Modus versetzt werden.

 

Der Include-Mechanismus

Es gibt 2 Arten des Include-Mechanismus :

 

Es gibt 2 getrennte Zustände im Emulator, die teilweise unterschiedliche Programmierungsarten ermöglichen :