SOURCGEN Re-assembler for Atari 800 XL

ATARI HOME
Einführung
Definitionen
Disketteninhalt
SOURCGEN starten
Symbolentabelle, Editor
Quelltext erzeugen
- mittels einer SMB File
- für das Betriebssystem
Eine SMB File erzeugen
Die Functionstasten
Die Functionen A - U
A. ADDR/symb search
B. BYTE-change
C. CODE-search
D. DELETE symbols
E. EDIT
F. FILE
G. GO
H. HEAD
I. INDEX
J. JUNK?
K. KEY (0..9)
L. LIST symbols
M. MINIMUM-label
N. NEW
O. OBTAIN symbols
P. PREPARE labels
Q. QUIT (1)
R. RE-ADDRESS
S. SAVE symbols
T. TRACE
U. UTILITY (V. 3.2)
Die Fram-disk
Output Menu
Fehlermeldungen
Referenzkarte
Neu in V.3.2

EMPFOHLENE SCHRITTE ZUM ERSTELLEN EINES SMB-FILES

Die folgende Schritte zum Erstellen eines SMB-Files sollen kein Rezept darstellen. Vielmehr sind sie als allgemeine Richtlinie aufzufassen.

Benutzen Sie diese Anleitung in Verbindung mit den Erklärungen in den Abschnitten Die Functionstasten und Die Functionen A - U

  1. Wenn Sie ein Listing zu einem Diskettenfile erstellen wollen dann drücken Sie <F> (F.FILE) und geben Sie den Namen des Files ein.
    Ansonsten drücken Sie wenn nötig <F> und tippen Sie FF <RETURN> um ein offenes File zu schließen.
  2. <.> drücken die Tasten <3> and <4> benützen, um 3.ADDRESS zu selektieren und 4.COMMAND zu deselektieren. <RETURN> drücken.
  3. <K> drücken und die Anfangsadresse des Listings eintippen. E.g. 2F00
    <RETURN> drücken.
    <0> um mit dem Listen anzufangen.
  4. Benutzen Sie <BREAK> um das Listen zu unterbrechen oder wieder in Gang zu setzen. Stellen Sie fest in welchen Programmteilen es sich um ASCII-Code, Bildschirmcode und Bitmuster handelt. Benutzen Sie die Pfeil-auf-Taste, um mit dem Cursor zu der Anfangsadresse eines solchen Programmteiles zu fahren und benutzen Sie gemäß dem Abschnitt E. EDIT die Zeichen '"', '\', '$', or '%',um solche Programmteile zu markieren. Die erste Adresse nach dem Ende eines solchen Programmteiles müssen Sie vorläufig mit ';' markieren. Auch die Anfangsadresse des Listings sollte, falls noch nicht markiert, mit einem ';' versehen werden.
    Wenn Sie im Kommandmodus statt <BREAK> die Taste <=> drücken, wird schon ab dem zuletzt eingegebenen Eintrag gelistet.
  5. Nachdem Sie gemäß Punkt-4 einmal durch das Listing gegangen sind, drücken Sie von der Kommandozeile aus die <P>-Taste (PREPARE labels). Tippen Sie die gewünschte Startadresse und wenn nötig auch die Endadresse des Listings und drücken Sie <RETURN>. Bei einem längeren Listing müssen Sie jetzt einige Sekunden warten bis SOURCGEN mit der Vorbereitung der Labels fertig ist.
  6. Drücken Sie auf <0> um wieder von vorne zu listen.
    Diesmal wollen Sie feststellen, bei welchen Programmbereichen es sich um Normalcode handelt. Hierfür brauchen Sie schon ein Mindestmaß an Assemblerkenntnissen. Bei der Suche nach der Anfangsadresse eines solchen Programmbereiches können die Funktionstasten[<], [>] und <=> von Nutzen sein. Sie werden auch merken, dass es sich bei den Zeilen, die mit einem J- oder H-Label anfangen, fast immer um Normalcode handelt. Im Falle des T-Labels dagegen, handelt es sich in der Regel um Texte und Tabellen. Markieren Sie die Programmteile aus Normalcode mit einem ';' oder einem Symbol.
  7. Fangen Sie das Listing nochmals von vorne an. Jetzt müssen Sie feststellen, wie die übrigen Programmteile zu interpretieren sind. Sie sollten vor allem feststellen bei welchen Programmteilen es sich um Tabellen von Adressen handelt. Benutzen Sie hierfür die Markierungen '=' oder '_' oder '|'.
    Enthält das Programm eine "Displaylist" dann dürfen Sie nicht vergessen die Adressenangaben im Displaylist mit '|' zu markieren.
  8. Punkt 5. bis 7. müssen Sie gegebenenfalls mehrmals wiederholen.
    Vor allem sollten Sie häufig die P. PREPARE labels Funktion anwenden. Für Entscheidungen werden Sie den Code untersuchen müssen. Hier wird die C. CODE-search unktion von Nutzen sein.
  9. Jetzt müssen Sie die Teile des Listings, die aus Normal-code bestehen, untersuchen. Vor allem müssen Sie feststellen an welchen Stellen eine Adresse anhand von zwei "immediate addressing"-Befehlen angesprochen wird. Um solche Befehle zu markieren benutzen Sie das Zeichen '&', oder folgen Sie dem imE. EDIT 5a und 5b beschriebenen Verfahren.

    Unter anderen sollten Sie auf die folgende Systemadressen eine Auge offen halten, da sie häufig anhand von "immediate addressing"-Befehlen mit Adressen beschrieben werden :

    $200 (VDSLST) - Vektor für den Displaylist-Interrupt-Routine.
    $230 (SDLSTL) - enthält die Adresse an der die Displaylist beginnt.
    $58 (SAVMSK) - enthält die Adresse des Bilschirmspeichers.
    $344 (ICBADR) - enthält die Adresse von verschiedenen Daten.

    Auch eine im Programm befindliche Routine könnte eine Adresse benötigen, die anhand von zwei "immediate addressing"-Befehlen übergeben wird.

    Lesen Sie nochmals den Abschnitt E. EDIT um sich über alle Möglichkeiten der Interpretation eines Programmteiles zu informieren.

  10. Nachdem Sie nach bester Kenntnis Ihr Listing fertiggestellt haben, sollten Sie die JUNK?-Funktionen nutzen (siehe J. JUNK? ).
    Auf dieser Weise werden Sie möglicherweise einiges finden, was sie sonst übersehen hätten.
  11. Zum Abschluss, benutzen Sie die H. HEAD Funktion um einen endgültigen, von ATMAS-II oder CODEGEN assemblierbaren Quelltext zu erzeugen und eventuell auf Diskette zu speichern.

    Vergessen Sie nicht Ihre Arbeit mit der S. SAVE symbols-Funktion abzuspeichern bevor Sie SOURCGEN entgültig verlassen!!!