Tutorium1 zum In_Go Reassembler
 - Starten Sie In_Go
 - Mit Amiga+"l" den Laderequester aufrufen
   Als Quelle sollte  File eingeschaltet sein.
 - Klicken Sie `Lade...` an
   Es erscheint ein Requester `Lade ausführbares File/Objectfile`
 - Klicken Sie Das Fileauswahl-Gadget hinter Lade an und wählen Sie Tutorium1 an
   Bestätigen Sie den Asl Requester mit `Ok`
   Als Projectname sollte nun Tutorium1 erscheinen
 - Bestätigen Sie mit `Ok`
   Der `Lade ausführbares File/Objectfile` Requester verschwindet, der Ladevorgang hat begonnen,
   und ist sehr schnell beendet.
   Die Quell-Auswahl Gadgets und das `Lade...` Gadget werden nun Ghosted dargestellt.
  -Zur Übung Klicken Sie auf Data in Der Scroll-Box
   Es erscheint ein Requester der Sie auffordert das Segment zu definieren.
  -Sie Ändern jedoch nichts und klicken Cancel an
   Der Requester verschwindet
  -Klicken Sie nun `Ok` im Laderequester an
   Der Lade- Requester verschwindet.
   Es erscheint nun unaufgefordert der `Reassembler preferences` Requester
  -Klicken Sie `Suche indirekte Basen` an
   Es erscheint eine Zeile in der Scrollbox
  -Klicken Sie nun `Suche Link-Module` an
   Der Anzeigemodus hat sich automatisch geändert er ist nun `Pseudo a0-a6`
   Es erscheint wiederum eine Zeile in der Scrollbox, die aber einen anderen Aufbau hat
   als die Zeile vorher.
  -Verlassen Sie den Requester mit `Ok`
   Der Requester verschwindet, die Hauptanzeige wird voll sichtbar.
   Der Text ist nun überwiegend gelb es sind keine Library-aufrufe dekodiert
  -Drücken Sie nun `d`
   Die Code-interpretation verschwindet es wird nun ein Data-ähnlicher Text gezeigt.
   Dieser Text entspricht dem vorher gesehenen Code diesmal nur als Data interpretiert.
  -Drücken Sie nochmals `d`
   Nun erscheint der vorher gesehene Assemblertext wieder.
  -Drücken Sie nun `p` einmal.
   Auf der linken Seite erscheint nun die absolute Adresse der geladenen Quelle
  -Drücken Sie nun `p` nocheinmal
   Auf der linken Seite erscheint nun die relative Adresse der geladenen Quelle
  -Drücken Sie nun `p` nocheinmal
   Jegliche Adressangabe auf der linken Seite verschwindet wieder.
  -Starten Sie nun den Reassembler mit `Space` also der Leertaste.
   Die ersten beiden Zeilen erscheinen nun Schwarz und B=1 also 1 Codebereich ist entdeckt.
  -Drücken Sie nun wieder `d`
   Die ersten beiden Zeilen sind unverändert der Rest wird wiederum zu Data
  -Mit Hilfe der Kursortaste bewegen Sie die aktuelle Zeile, auf AL_0_4
  -Drücken Sie nun Taste `Amiga`+`j`
   Fast der gesammte Inhalt von Segment 0 ist reassembliert worden.
   die Aktuelle Zeile bleibt hinter dem reassemblierten Bereich stehen
  -Drücken Sie nun `0`
   Hier wird Marke `0` aufgerufen, da Sie aber bisher unbelegt ist wird der Anfang
   von Segment 0 angezeigt.
   Die absoluten Adressen im Operandenfeld sind nun verschwunden
  -Drücken Sie nun Amiga+shift+`$`
   In_Go liest nun alle amigatypischen Namen des Programmes ein..
   In der neunten Zeile erscheint nun `lea dosname(A4),D1`
  -Sehen Sie Sich die ersten Zeilen an. .
  -Schalten Sie mit `p` auf relative Zeilenadressanzeige (zweimal drücken !)
   Jetzt sollte die Zeilenadressanzeige `+$xxx` sichtbar sein.
   In Zeile `+$E` wird die ExecBase in eine Variable geschoben,
   soviel sollten Sie erkennen ...
  -Klicken Sie die Variable `L_1_86(A4)` an . . .
   Es erscheint der `Reassembler Hilfe` Requester
  -Klicken Sie das Stringgadget im Bereich `Gewähltes Label` an.
  -Geben Sie `ExecBase` in genau dieser schreibweise ein, mit Return abschliesen.
   Stringgadgets in In_Go müssen immer mit Return verlassen werden !
  -Klicken Sie `Ok` an
   Jetzt erscheint die Hauptanzeige wieder, der symbolische Processor kann nun
   einige Library-Aufrufe erkennen.
  -Mit Hilfe der Kursortasten gehen Sie nun  nach unten in Zeile `+$64`
   In Zeile `+$5C` - `+$68` kann man das Öffnen der Utility Library erkennen
   In Zeile `+$6C` wird die UtilityBase in eine lokale Variable abgespeichert.
  -Klicken Sie pS0_0(A5) an
   Es erscheint der `Reassembler Hilfe` Requester
  -Klicken Sie das Stringgadget im Bereich `Gewähltes Label` an.
  -Geben Sie `UtilityBase` in genau dieser schreibweise ein, mit Return abschliesen.
  -Verlassen Sie den Reassemblerhilferequester mit der `Esc` Taste
   Nun kann der symbolische Processor auch diesen Aufruf dekodieren.
   An der Zeilenfärbung kann man erkennen Das es sich um einen Aufruf ab Kick 3.0 handelt.
  -Fahren Sie nun mit der Kursortaste bis ans Segmentende
   sie erkennen anhand der grün-schwarzen Zeile das hier eine Tabellen existiert
   Da sie noch nicht automatisch eingelesen ist vermuten Sie richtig
   >Es handelt sich hier um eine Tabelle die In_Go nicht automatisch einliest<
  -Fahren Sie mit dem Zeilenkursor auf Label `L_0_A4:`
  -Drücken Sie jetzt `t`
   Jetzt erscheint ein Requester mit vielen Einstell-Möglichkeiten
  -Klicken Sie Schalter `Der Tabellen Start` an
   In dem Stringausgabegadget dahinter sollte jetzt `L_0_A4` erscheinen.
  -Verlassen Sie den Requester mit `Ok`

Den Folgenden Vorgang eventuell wiederhohlen !
  -Fahren Sie nun mit dem Zeilenkursor auf `+$AC`
   Wenn sie `+$AC` nicht finden nehmen Sie den naechsten kleineren Wert !
  -Drücken Sie jetzt `t`
   Jetzt erscheint der Tabelleneinleserequester wieder
  -Klicken Sie Schalter `Das Tabellen Ende` an
   In dem Stringausgabegadget dahinter erscheint jetzt die Absolute Adresse.
   An dieser Stelle befindet sich ja noch kein Label.
  -Stellen Sie am Gadget links oben "(@):   {start+word[@]}: @+@+distance" ein
   Die  Distanz sollte bereits auf 2 , "{}=" sollte `Sprunglabel` zeigen
  -Starten Sie das Einlesen der Tabelle mit `Lese Tabelle ein`
  -Verlassen Sie den Requester mit `Ok`
   in der Hauptanzeige erscheint nun die Tabelle
Wenn Sie vorher +$AC` nicht gefunden haben Zurück zum Absatz
  -Drücken Sie nun `Space` (Leertaste)
   Es ertönnt mehrfach `Beep` das deutet auf einen Fehler hin !
  -Drücken Sie darum Taste `e`
   Taste `e` zeigt die Fehler einige dc.w s
  -Schalten sie im Processormenu auf 68020.
   Unsere Vermutung war richtig der Fehler war gar kein Fehler es handelte
   sich um nur für den 68020 er Processor lauffähigen Code
   Da In_Go beim `Fehler` die Reassemblierung an dieser Stelle abbricht haben wir dort
   jetzt unerkannter Code
  -Fahren Sie mit dem Zeilenkursor auf das Zeilenlabel darüber (+$B8)
  -Wählen Sie im Edit-Menü `Mache Code zu Data von AL an`
   Jetzt werden 3 Zeilen wieder überwiegend Gelb, Sie sind In_Go intern `DATA`
   Darum müssen wir erneut an dieser Stelle reassemblieren.
  -Gehen Sie Mit dem Zeilenkursor auf (+$B8)
  -Drücken Sie Amiga + `j`
   Nun hat In_Go diese Stelle bearbeitet, Sie ist als Code richtig erkannt
  -Bringen Sie Nun Zeile  `+$9A` -`$A2 in die Anzeige (durch Kursor oder Scrollbalken )
  -Drücken Sie nun Shift + `L`
   Mit dieser Tastenfolge können Libraryaufrufe im sichtbaren Bereich automatisch benannt
   werden.
   In Zeile `+$9A` erscheint der Name `CloseLibrary_I`  er wurde gelernt !
  -Bringen Sie Zeile  +$BA bis +$B6 in die Anzeige
  -Wählen Sie `F10` (Die Funktionstaste)
  -Klicken Sie alle Möglichkeiten ein
  -Verlassen Sie den Requester mit OK
   Nun können wir einige Optimierungen richtung 68020 betrachten.
  -Durch drücken von `o` kann die Optimierung `getoggled` werden.
  -Wählen Sie nun `Erzeuge lokale Label` im Edit-Menu an.
  -Es erscheint ein roter Hinweis der jedoch bald wieder verschwindet.
   Es werden nun lokale Label angezeigt;
   Warum  sind die Label ab Zeile +$C4 nicht lokal geworden ?
   Ein kleiner Trick von mir: in Segment 1 befindet sich ein Verweis
   auf Label +$C4 ;dies wurde von In_Go richtig erkannt.
  -Erzeugen Sie Nun durch Anwahl von `Speichere Textfile` im
   Aktion-Menü ein Assembler-Textfile
  - Erzeugen Sie Durch Anwahl von `Speichere Amigaguidefile` im
   Aktion-Menü ein Amigaguidefile des Tutoriums
  -Wählen Sie `Speichere ausführbares File`
   Hier können Sie je nach Wunsch das File ausführbar, mit Dreloc_32 Units.
   und oder mit den gefundenen Namen abspeichern.
   der Name wird mit `q` erweitert.

   Ende von Tutorium1