11.3. Mnemonic-Codierung history menue Letztmalig dran rumgefummelt: 19.09.13 19:12:38
Assembler-Programmierung ist eine richtig knallharte Geschichte. Alles funktioniert natürlich auf der untersten Ebene ganz einfach und ohne Hilfsmittel. Nachdem Du mehr mit dem Radiergummi gearbeitet hast, denn mit dem Bleistift, sehnst Du Dich nach irgendwelchen Hilfsmitteln, die zumindest die Überprüfung Deiner Ergebnisse etwas freundlicher gestalten. Irgendwann wird ein richtiger Assembler gewünscht und dabei die Feststellung getroffen: Uuupppss - hier wird's ja richtig teuer. Na klar - und das liegt daran, dass der Assembler den kompletten Befehlsvorrat Deines Zielprozessors kennen muss. Außerdem benötigt man noch einiges an kleinen Helferlein.
Mehr zum Arbeiten mit Assemblern gibt's dann hier
  1. Mnemonic-Code-Tabelle
  2. Tipps und Tricks
  3. Aufgaben für verschiedenen Plattformen
  4. Lösungsideen

Ich weiß nicht mehr, was ich hier programmiert hab, auf jeden fall war's schon mit Interrupt-Steuerung - 's war 'ne Ampel oder was ähnliches.  Ist egal, es ist mausealt - aber so haben wir's gemacht - sow erden mal schnell ein paar Gedanken in eherne Quellcodezeilen gegossen - so zu sagen die Urform von "Open Sourrce-Codes"

... so was darf nicht verloren gehen - auch wenn's Jahre her ist


1. Mnemonic-Codetabellen history menue scroll up
Im Prinzip nichts weiter, als eine HEX-Codierung, wobei die Notationsform eigentlich völlig frei ist und im Extremfall ohne Adressrechnung erfolgt.

Aufgabe: Register A soll mit einem Wert geladen und dieser um den Wert von Register B erhöht werden, wobei keine Addition anzuwenden ist!

Marke Adresse Hex-Code Assembler-Code Kommentar
4000H 3E, 31 LD A, 31H ;Register A wird mit direktem Wert geladen
4002H 06, 02 LD B, 06H ;Register A wird mit direktem Wert geladen
:M1 4004H 05 DEC B ;Register B wird um eins nach unten gezählt und bei "Null-Durchlauf" das ZERO-Flag gesetzt
4005H 3C INC A ;Register A wird um 1 erhöht
4006H C2; 04, 40 JPNZ 4004H ;Absoluter Sprung zu Adresse 4004H, wenn ZERO nicht NULL
4008H 76 HALT ;STOPP für die CPU - Auswertung Registerinhalte
;A=33H und B=0H  ;-)

Beispiel für eine kleine Anweisungstabelle in vollständiger Mnemoic-Codierung

Formularblatt zur Mnemonic-Code-Notation


2. Tipps und Tricks history menue scroll up

3. Aufgaben für verschiedene Plattformen history menue scroll up

Aufgabe: Die Inhalte der Register E sowie C sind zu multiplizieren, wobei der Inhalt von Faktor1 (E) auf Adresse 4050H und der Faktor 2 (C) auf 4053H steht. Das Ergebnis schreiben sie auf 4047H!


4. Lösungsideen history menue scroll up

Assembler-Programmierung


Überlappung der Befehlszyklen (Pipeling) 



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost im August 2002

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist