Format: | |
Format: | |
Bussystem
Zeile hier einfügen
Zeile entfernen
Zeile hier einfügen
Zeile entfernen
Arbeitsspeicher (RAM)
Variableninspektor
Speicherstelle |
---|
Variablenname |
Wert |
Foto "John von Neumann" von Wikimedia Commons
Unless otherwise indicated, this information has been authored by an employee or employees of the Los Alamos National Security, LLC (LANS), operator of the Los Alamos National Laboratory under Contract No. DE-AC52-06NA25396 with the U.S. Department of Energy. The U.S. Government has rights to use, reproduce, and distribute this information. The public may copy and use this information without charge, provided that this Notice and any statement of authorship are reproduced on all copies. Neither the Government nor LANS makes any warranty, express or implied, or assumes any liability or responsibility for the use of this information.
Mikroprozessor-Simulation mit Torsteuerung
Aktuelle Version: 0.9.RC3, 14.5.2024
Nach dem DOS-Klassiker von Werner Simon (entstanden 1994 in Zusammenarbeit mit dem Klett-Verlag für das Arbeitsheft "Vom Programm zum Prozessor - Arbeitshefte Informatik", ISBN 3-12-717760-7), MikrSimD von Konrad Dammeier, erweitert von Tobias Nopper und Thomas Schaller
Entwickelt 2023 von Rainer Helfrich, ZSL Tübingen
Der Arbeitsspeicher kann zwischen Daten und Assembleranzeige umgestellt werden. In der Assembleranzeige werden zwei Byte pro Zeile angezeigt und diese beiden Bytes als Maschinenbefehl interpretiert. Aus dem MPS wird die Beschreibung des Maschinenbefehls gelesen und der Platzhalter (nn) durch den eingebenen Operanden ersetzt.
Eingabe der Befehle:
Zeile einfügen/löschen: Rechtsklick und Kontextmenü
Beim Einfügen/Löschen werden die Sprungadressen und Adressen von Daten angepasst. Eine Nachkontrolle ist aber erforderlich, da nicht immer eindeutig entschieden werden kann, welche Daten sich verschieben und welche nicht.
In der Daten-Ansicht können mit der rechten Maustaste einzelne Speicherstellen als Variablen definiert werden. Sie werden gelb schraffiert angezeigt und permanent im Variableninspektor (einblenden mit der Checkbox unten rechts) angezeigt. Bei einer Speicherung des RAM im Format .ras oder .rad bleiben diese Definitionen erhalten.
Zur Taktsteuerung:
Folgende Dateiformate werden unterstützt:
*.mpd
: Text-Format (Druckformat)*.mps
: Simon-Format; kompakter mit Befehlsbeschreibungen von maximal 12 Zeichen (nützlich für Aufruf über URL-Parameter)*.ram
: MikroSim; kompaktes RAM-Format für 32 Byte (veraltet)*.erm
: MikroSimErm; kompaktes RAM-Format für 256 Byte (nützlich für Aufruf über URL-Parameter)*.ras
: Text-Format für Assembler-Ansicht*.rad
: Text-Format für Daten-AnsichtDie Formate .ras, .rad und .mpd haben ein Textformat, das sich zum Export und Import eigener Texte eignen. Kommentarzeilen beginnen mit einem Semikolon.
Einige Optionen sind als URL-Parameter möglich. Dazu muss die Seite aber über HTTP/HTTPS geöffnet werden, direktes Öffnen vom Dateisystem (file:///) geht nicht. Achtung: Die maximale Länge der URL wird vom Webserver bestimmt und ist z.B. bei Apache standardmäßig auf ca. 8000 Zeichen beschränkt. MPD-Dateien überschreiten diese Grenze schnell, daher ist das MPS-Format oft empfehlenswerter.
Parameter:
v=0...16
: Taktzeiten 0 → zu schnell Sek, 16 → 10 Seks=1
: Programm automatisch starten (bis Halt)mpd=...
: Lädt automatisch den im MPD-Format übergebenen Mikroprogrammspeichermps=...
: Lädt automatisch den Base64-codiert übergebenen Mikroprogrammspeichern im MPS-Formatras=...
: Lädt automatisch den im RAS-Format übergebenen RAM-Inhaltrad=...
: Lädt automatisch den im RAD-Format übergebenen RAM-Inhalterm=...
: Lädt automatisch den Base64-codiert übergebenen RAM-Inhalt im ERM-FormatVon den Parametern mpd
und mps
kann nur einer verwendet werden, ebenso von den Parametern ras
, rad
und erm
.
Beispiel:
http://www.meinserver.de/index.html?v=1&s=1&mpd=AD+Befehl++++...&erm=ChoNGxAcCA...
Lädt MikrSimWeb mit dem Mikroprogrammspeicher, der durch mpd
beschrieben wird und dem Base64-codierten RAM-Inhalt, der durch erm
dargestellt wird. Das Programm wird automatisch mit der Geschwindigkeit "sehr schnell" gestartet.