DV3-Info
Start-Deutsch
Ergebnisse
Assembler und DV3
Downloads!
Mailing-List!
Thanks to...
Links!
Assembler und DV3

Kapitel 5

Projekt “Laufschrift” - Teil 1

In Kapitel 4 haben wir unsere erste eigene Zeile Assembler geschrieben.
Dabei soll es natürlich nicht bleiben !
Jetzt wollen wir unser erstes Assembler-Programm schreiben !
Wir wissen bereits, wie wir durch Änderung von Zeilen- und Spaltenwerten die Ausgabe von Text kontrollieren, ja quasi einzelne Zeichen über den Bildschirm wandern lassen können. Freilich müssen wir dazu bis jetzt einen sehr umständ- lichen Weg beschreiten :
Wir ändern im Textausgabeblock z.B. den Spaltenwert, laden das Programm in den DV3 und freuen uns, daß das Zeichen dort auf dem Bildschirm erscheint, wo wir es (hoffentlich) haben wollten. Wollen wir es weiter verrücken, editieren wir den Textausgabeblock erneut, laden das Programm wieder in den DV3 usw. usw.
Alternativ könnten wir auch mehrere Textausgabeblöcke mit einem jedesmal etwas ansteigenden Spaltenwert hintereinanderschreiben, und anschließend auf dem Bildschirm des DV3 tatsächlich ein bewegtes Zeichen beobachten !
Nicht nur, daß es wirklich eintönig wäre, ein solches Programm zu schreiben, das Programm würde dadurch außerdem auch sehr schnell sehr groß werden !

Aber wieviel Platz haben wir für unser Programm und wo bringen wir es unter ?
Die Datei NPLv111.bin bietet uns hierfür insgesamt 16 Kb, jedoch müssen wir bei der Eingabe unseres Codes darauf achten, daß keine Routinen des Original- Programms NPLv111.bin beschädigt (überschrieben) werden, auf die unser Programm noch zugreifen muß (hierzu gehört z.B. das Unterprogramm, das einen Text-String zur LCD-Anzeige sendet) !
Wir können daher guten Gewissens nur diejenigen Speicherbereiche für unser Programm verwenden, von denen wir genau wissen, daß die Programmab- schnitte, die dort bisher stehen, von uns nicht mehr gebraucht werden. Dies sind :

    1.) Adressbereich 82007Eh bis 8200E2h und 8201B4h bis 8201CEh
    -> 1. und 2. Textabschnitt (siehe Kapitel 2)
    und
    2.) Adressbereich 82013Ah bis 8201B2h
    -> Ausgabe des 1. Textabschnitts

Wenn wir uns auf diesen Speicherbereich beschränken (was wir zunächst zu Übungszwecken tun wollen) wird klar, daß wir nach o.g. Methode nur sehr wenige Textausgabeblöcke hintereinander reihen könnten, bevor das Ende des nutzbaren Speicherbereichs erreicht wäre.
Richtig programmiert reicht der Speicherplatz aber bequem für ein Programm aus, das eine komplette Laufschrift über den Bildschirm des DV3 “wandern” lassen kann !
Im Download - Bereich der Page ist das Laufschrift-Programm “DV3-Info.bin” abgelegt, das zum Start einfach anstelle von “NPLv111.bin” in den DV3 geladen wird !
Die Laufschrift und weitere für das Programm notwendige Daten sind im Adreß- bereich  82007Eh bis 8200A7h abgelegt (-> Hexeditor verwenden).
Das Programm selbst beginnt bei 82013Ah mit dem Befehl NOP (FF FF) und endet bei 82019Eh mit dem bereits aus Kapitel 4 bekannten HALT-Befehl (F1 FF). Der Befehl NOP ist ebensoschnell erklärt :
Er bedeutet übersetzt “no operation” und tut genau das, was er sagt !
Er veranlaßt den Prozessor für die (minimale) Dauer der Abarbeitung des Befehls einfach garnichts zu tun. Er kann als Platzhalter im Programm für später einzufü- gende Befehle benutzt werden, aneinandergereiht als Überbrückung bis zum nächsten “sinnvollen” Befehl eines Programms oder ganz einfach als Verzögerung im Programmablauf.

Disassembliert das Programm und erstellt einen Ausdruck für die Besprechung im nächsten Kapitel !
 

[DV3-Info] [Start-Deutsch] [Ergebnisse] [Start-Englisch] [Results]