Den hier zu findende Simulator hat ein Student während des Programmierkurses geschrieben. Mit ihm können die meisten Übungsaufgaben aus dem Praktikum Mikrorechner zu Hause und ohne Versuchsbaugruppe programmiert werden.

Anmerkungen des Autors

Neulich bin ich beim Aufräumen meiner Festplatte auf den 8051-Emulator gestoßen, den ich für mich für den Assembler-Kurs letztes Sommersemester geschrieben hatte. Da ich eine Menge Arbeit in das Programm gesteckt habe, meine ich, daß es eigentlich etwas schade ist, wenn er jetzt überhaupt nicht mehr verwendet wird. Deshalb dachte ich, daß Sie vielleicht Interesse daran haben.

Der Emulator liegt als fertiges (Windows-)Programm und auch im Quellcode auf meiner Homepage (http://home.tu-clausthal.de/~ifalh/) unter "Download". Wenn Sie die emu.zip in ein beliebiges Verzeichnis entpackt haben, ist der Emulator sofort betriebsbereit. Eine Hilfedatei, die alle Register, Opcodes usw. beschreibt ist ebenfalls enthalten sowie diverse Beispielprogramme. Das Programm orientiert sich vom Aufbau an den Entwicklungsumgebungen anderer Programmiersprachen: Ein Text-Editor mit Syntax-Hervorhebung für die Programmentwicklung, ein Hintergrund-Compiler, der sofort während des Tippens auf Syntax-Fehler hinweist sowie eine komplette Debugging-Umgebung mit Anzeigen für alle wichtigen Informationen.

Der Emulator kann fast alle Programme der Übungsaufgaben des Assembler-Kurses vom letzten Sommersemester ausführen. Der Compiler erzeugt den selben Code, wie der echte as31. Dieser Code wird dann von der virtuellen CPU des Emulators mit etwa 20-30kHz (abhängig von der Leistungsfähigkeit des verwendeten Computers) abgearbeitet. Das Programm kann jederzeit unterbrochen werden bzw. im Einzelschrittmodus ausgeführt

werden und Variablen können eingesehen und verändert werden. Wird die Abarbeitung unterbrochen, so steht für die virtuelle CPU die Zeit still, so daß unerwünschte Nebeneffekte (wie bei der Verwendung des Monitor-Programmes) ausgeschlossen sind. Außerdem ist das Debuggen mit dem Emulator sehr viel bequemer als mit Hilfe des Monitor-Programmes. Der Emulator unterstützt alle Assembler-Befehle und alle Speicherbereiche des echten 8051 sowie einen Großteil der Register und Hardware (Interrupt-System, Timer, LED-Zeile, Serielle Schnittstelle, Plotter).

Ich habe eigentlich alle Programme im Emulator geschrieben und getestet und in den Übungen dann nur noch einmal auf dem echten Prozessor ausgeführt.


Mit freundlichen Grüßen

Alexander Herzog