Assembler Aufgabe1 |
Aufgabe1
Um mit der Programmierung vertrauter zu werden, wird eine Aufgabe gestellt:
Auf der Tastatur wird eine Taste betätigt, das Betriebssystem stellt dafür ein ASCII-Zeichen
zur Verfügung.
Die Aufgabe besteht nun darin, den ASCII-Code als hexadezimale Darstellung auszugeben!
Das könnte z.B. so aussehen:
Es wurden in dem Beispiel bereits 5 Tasten betätigt, die erste war ein "K", dargestellt
wurde das "K" und danach die ASCI-Codierung 4Bh.
Das Programm soll danach nicht zu Ende sein, sondern erneut auf eine Tastatur-Eingabe
warten. Die Ausgabe soll aber in der nächsten Zeile erfolgen. Das Program wird durch
"Strg C" beendet.
zurück zur Start-Seite (Beispiele) / Lösung | ||
zurück zur Start-Seite |
Lösung - diesen Teil sollte man erst später nachlesen!
Die Lösung steht natürlich bereits im ASCII-Code!
Nemen wir an, dass die Taste "K" betätigt wurde, die ASCII-Codierung ist
"4bh", also 01001011.
Das ist zu realisieren.
Wir fangen mit dem oberen Nybble an
Beim unteren Nybble verfährt man genau so, nur muss zuvor das obere Nybble
ausgeblendet werden. Das geht mit einer AND-Funktion des Wertes mit einer
entsprechenden Maske, also Links ist der Ablauf schematisch dargestellt. |
Das ganze hier noch einmal als PAP. Die Speicher sind noch symbolisch, sie
müssen noch Registern oder Speicherplätzen zugeordnet werden, dann ist das
Programm so gut wie fertig. Der grau hinterlegte Teil ist in beiden Teilen gleich, also könnte man hieraus auch ein Unterprogramm machen! |
Hier kann man sich eine Programm-Variante ansehen.
Und hier gibt eine zweite Variante, unter Anwendung eines NEAR-Unterprogramms. Die FAR-Variante sollte man einmal selbst probieren!
Die Darstellung erfolgte mit dem Windiws-Editor, deshalb sehen einige Zeichen etwas komisch aus!
zurück zur Start-Seite (Beispiele) / weiter 1.Beispiel: Ausgabe "Hello World" auf dem Bildschirm | ||
zurück zur Start-Seite |