Schlagwort-Liste: 8086 - 16-Bit-Rechner - Downloads - Programme: Oberfläche, Assembler, Simulator, Beispiele

80x86 - Programmierung


Das System "rasm" dient der Assembler-Programmiering des Prozessors 8086 (und weiterer).

Vom groben Prinzip hat sich nicht viel zur Assembler-Programmierung des 4Bit-Prozessors "ERNA" geändert!
Es gibt eine Bedienoberfläche, von der aus alle Komponenten bis zur Erstellung des lauffähigen Maschinen-Programms aufgerufen werden, einschließlich des Starts des Programmes. Man kann also auch alle Komponenten einzel ohne Bedienoberfläche aufrufen.
Die Oberfläche ist "primitiver" geworden, es gibt nur noch ein einfaches Textsystem, die Steuerung erfolgt nur noch durch ausgewählte Tasten. Allerdings ist sie an die Bedürfnisse der 8086-Programmierung angepasst.

Für die Bearbeitung gibt es wieder einen Editor, der stammt von einem alten Norton-Commander, besser nutzt man z.B. den Windows-Editor, allerdings kann es dann aber Probleme mit der Darstellung einiger Textzeichen geben (siehe Beispiel 6). Auch der Norton-Viewer wird gebraucht.
Der Assembler funktioniert auch ähnlich wie der von "ERNA" , natürlich verfügt er entsprechend dem Prozessor über viel mehr Befehle und Möglichkeiten. Man braucht auch weiterhin ein Bild vom Aufbau des Prozessors, welches nun auf Grund der Komplexität des Prozessors nicht mehr auf den Bildschirm passt, da braucht man anfangs ein Bild neben der Tastatur.

Das Maschinen-Programm kann sofort gestartet werden.
Und hier gibt es den wesentlichen Unterschied zum 4Bit-Prozessor "ERNA", der ja nur simuliert war,

nun haben wir es mit dem realen Prozessor unseres Rechners zu tun,

denn jeder INTEL-Prozessor kann im REAL-Mode auf den 8086 Prozessor zugreifen. Das ist natürlich toll - aber auch nicht ganz ungefährlich.
Wir erstellen solange wir den 8086 verwenden, DOS-Programme, die in einem extra Windows-Fenster laufen. Wir haben aber den gesamten Befehlsvorrat in der Hand und kommen somit in "alle Ecken" des Prozessors und des Systems. Neue Windows-Systeme (mindest ab XP) sollten aber unerlaubte Zugriffe blockieren, jedoch habe ich auch schon erlebt, dass durch wahrscheinlich fehlerhafte Programmierung, doch in unerlaubte Bereiche des Rechners gegriffen wurde.
Wenn man nicht gerade auf die Festplatte zugreift, sollte beim Neustart des Systems alles wieder funktionieren. Man sollte also bei dieser Art der Programmierung keine ungespeicherte Dateien haben. Beim Simulator gibt es solche Probleme natürlich nicht!

Wer also noch nie in Assembler programmiert hat, sollte vielleicht zunächst einmal mit dem Simulationssystem ERNA programmieren, da kann nichts passieren, als Voraussetzung ist es jedoch nicht erforderlich!

Und noch etwas ist zu beachten:
"Die erarbeiteten Programme laufen nun nur noch im Betriebssystem MS-DOS, bzw. einem simulierten System und einem Intel-Prozessor (bzw. Intel kompatiblen), unter UNIX funktioniert das nicht!"
Assembler sind eben Maschinen orientiert!

Wir wollen nun wie folgt verfahren:

  1. Es erfolgt eine allgemeine Beschreibung zur Assembler-Programmierung (von der Quelle bis zum Maschinenprogramm)
  2. Beschreibung zum technischen Aufbau des Prozessors 8086 (soweit es für die Programmierung notwendig ist)
  3. Daten im Arbeitsspeicher ablegen / Adressenbildung
  4. Das Interruptsystem zu Nutzung von Komponenten des Systems
  5. grobe Beschreibung des Assemblers und dessen Nutzung
  6. Beschreibung der Bedienoberfläche
  7. Beispiele
  8. Aufgabe
  9. Bereitstellung der Systemdateien

Ziel ist,
in Fortführung des 4Bit-System, eine Einführung in die Programmierung des 8086 zu geben.
Anhand von verschiedenen Beispielen (Punkt 7) soll dazu die Arbeitsweise des Systems beschrieben werden. Die anderen genannten Punkte können nur grob behandelt werden, müssen aber zum Verstehen des Systems kurz angesprochen sein. Man sollte die Beschreibungen in der angegebenen Reihenfolge lesen. Detailierte Beschreibung zum Assembler muss man der Fachliteratur entnehmen!
Ein Beispiel ist:
"Wolfgang Link; Assemblerprogrammierung; Franzis Verlag 2000"
In diesem Buch gibt es neben vielen Beispielen auch eine CD, die alle notwendige Software und alle Beispiele enthält. Außerdem sind auf etwa 70 Seiten nahezu alle Befehle genannt und beschrieben, einschließlich der Coprozessor-Befehle des 80386, 80486 und des Pentiums, man muss also nicht unbedingt im DOS-System bleiben!

Zu vermerken ist noch, dass das beschriebene System ausschließlich Lern- und Übungszwecken dient.
Für eine komerzielle Nutzung müssen die Komponenten käuflich erworben werden!

zurück