AC1-Assemblerprogrammierung
A. Barthel
Die Bildschirmarbeit bei der Assemblerprogrammierung ist oft sehr
kompliziert. Das macht sich z.B. bei
Spielprogrammen besonders bemerkbar, wenn Spielfiguren bewegt oder
Positionen zueinander bestimmt werden sollen.
Die Arbeit ist wesentlich einfacher, wenn der 2-KByte-Bildschirm in
Zeilen und Spalten aufgeteilt wird, wie es auch
in BASIC üblich ist. Das erste der untenstehenden Programme
wandelt eine Bildwiederholspeicheradresse (BWSA),
die vorher in das Doppelregister HL einzutragen ist, in die
entsprechende Zeile und Spalte um. Die Zeile steht
dann im Register D und die Spalte in E. Der umgekehrte Vorgang
läuft im zweiten Programm ab. Hier wird vorher die
Bildschirmposition, ausgedrückt durch Zeile und Spalte, in das
Doppelregister DE eingetragen. Das Ergebnis ist
dann die zugehörige BWSA im Doppelregister HL. Der Nullpunkt
befindet sich in der linken unteren Bildschirmecke.
Alle Aus- und Eingabewerte sind Hexadezimalwerte.
Wertebereiche:
BWSA im Doppelregister HL: 1000 bis 17FF
Zeile im Register D: 00 bis 1F
Spalte im Register E: 00 bis 3F
Die beiden Programme prüfen die Einhaltung des Wertebereichs der
Eingabewerte nicht!
|
56 KByte |
Listing |