Impressum
< Fehlermeldungen des Assemblers Inhalt Modelle >

Die Oberfläche des Simulators

Der Simulator des RBS-µC ist in Abb. 1 dargestellt. Er zeigt den ROM, internen RAM, das SFR und einige CPU Parameter an. Somit bietet der Simulator einen umfassenden Einblick in die Abläufe des Mikrocontrollers, so ist es möglich interne Abläufe nachzuverfolgen.
Durch diesen Sachverhalt sieht man die Auswirkung jedes Befehls im Programm und erlangt somit ein tieferes Verständnis für den Mikrocontroller, welches man bei einem realen Mikrocontroller nicht erwirbt, da er eine Black-Box darstellt.
 
Die Simulator-Oberfläche
Abb. 1 - Die Simulator-Oberfläche

ROM Display

Das ROM Display
Abb. 2 - Das ROM Display
Links im ROM-Display stehen die Adressen (in hexadezimaler Notation). Darauf folgen je Zeile acht Byte. Der rote Rahmen gibt den aktuellen Befehl an. Im Fall der Abbildung 2 steht der Programm-Counter bei 30h und der Befehl umfasst 3 Bytes mit den Werten 75,90,01 (dies ist der Befehl mov 90h, #01).
Das ROM-Display besteht aus mehreren Seiten, welche mit den Pfeiltasten oben rechts druchgeblättert werden können. Während der Ausführung eines Programms wird immer der Speicherbereich angezeigt, auf welchen der PC verweißt. So kann der Programmablauf ohnen manuelles Scrollen nachverfolgt werden.

SFR Display

Das SFR Display
Abb. 3 - Das SFR Display
Links im SFR-Display stehen die Adressen, rechts jeweils acht Werte. Das abgebildete SFR ist dem AT89S8252 nachempfunden. In diesem Controller sind die freien Bereiche nicht belegt. In diese drüfen keine Werte abgelegt werden.
Fährt man mit der Maus über die einzelnen Speicherzellen so erscheint ein Hint mit dem Namen der Speicherzelle. In der Abbildung sieht man den Hint für die Speicherzelle 82h, welche den Namen DP0L) trägt. Dies ist das niederwertige Byte des Data-Pointers (der AT89S8252 hat 2 DPTR, weshalb die 0 im Namen erscheint).

RAM Display

Das RAM Display
Abb. 4 - Das RAM Display
Das RAM-Display zeigt alle 256 Bytes des internen RAMs an. Für jede Zeile im RAM ist links die Startadresse angegeben, daneben die acht Werte. Die Register 0 bis 7 stehen in der untersten Zeile (Adressen 0-7), solange man nicht die Bits RS0 bzw. RS1 im PSW verändert.
Der Stack wird ebenfalls im RAM abgelegt und beginnt, wird SP zu Beginn nicht verändert, ab Adresse 08h.
Die beiden Zeilen ab 020h und 028h stellen den bitadressierbaren Teil des RAMs dar. Andere Bitadressierbare Speicherzellen findet man in der linken Spalte des SFR.

CPU Display

Das CPU Display
Abb. 5 - Das CPU Display
Das CPU-Display stellt einen Überblick über die wichtigsten Parameter des Mikrocontrollers dar.
Im Bereich CPU-Display stehen
  • PC - Der Programm-Counter, welcher die Adresse des aktuellen Befehls anzeigt, diese Information ist auch an dem roten Rechteck im ROM-Display zu erkennen.
  • DPTR - Der Data-Pointer gibt den 16-Bit Wert des aktuellen Data-Pointers aus. Da der AT89S8252 einen Dual-Data-Pointer besitzt, wird der aktuelle Data-Pointer mittels EECON.2 (Data EEPROM Control Register) = 96h.2 bestimmt. Ist EECON.2=0, so ist DP0 aktiv, sonst DP1.
  • A - Der Akkumulator, dessen Wert aus 0E0h im SFR entnommen wird.
  • Stack - Der aktuelle Wert des Stack-Pointers welcher in 082h des SFR steht. Er gibt an, an welcher Adresse der letzte Wert im Stack abgelegt wurde.
Im Bereich Timer stehen
  • Timer0 - Der 16-Bit Wert des Timer 0, welcher sich aus TH0 und TL0 zusammensetzt.
  • Timer1 - Der 16-Bit Wert des Timer 0, welcher sich aus TH1 und TL1 zusammensetzt.
  • TMod - Der binäre Wert des TMod-Registers (089h im SFR). Hieran kann die Konfiguration der Timer einfach abgelesen werden.
Im Bereich PSW/IE sind die einzelnen Bits des Programm-Status-Word (0D0h) und des Interrupt-Enable-Registers (0A8h) mit ihren Namen angegeben.

Display des Erweiterungsspeichers (XMem)

Das XMEM Display
Abb. 6 - Das XMEM Display
Über den Button Show XMem öffnem man den Erweiterungsspeicher. Der Erweiterungsspeicher wird in einem eigenen Fenster dargestellt mit je 16 Byte je Zeile. Er umfasst die vollen möglichen 64kB. Bei der Ausführung eines Programms wird automatisch an die Stelle gescrollt, von welcher aus dem XMem gelesen bzw. an welche in XMem geschrieben wird.

Port Display

Port Display
Abb. 7 - Port Display
Im mittleren Bereich werden die Ports angezeigt. Hier kann über die Comboboxen ein Modell ausgewählt werden, welches über den Port angesteuert wird. Die einzelnen Modelle werden auf der nächsten Seite beschrieben.

Befehls Display

Befehls Display
Abb. 8 - Befehls Display
Im Befehls Display (s. Abb. 8) wird der aktuelle Befehl dekodiert angezeigt und zwar drei Mal untereinander. In der ersten Zeile sind alle Operanden dezimal angegegeben, in der zweiten Zeile binär und in der dritten hexadezimal.

Steuer Buttons

Steuer Buttons
Abb. 9 - Steuer Buttons
Mittel der rechten Steuerbuttons kann das Programm Befehl für Befehl (Step) abgearbeitet werden oder über die Run Tasten automatisch druchlaufen werden.
Der Reset PC Button setzt den Simulator in den Ausgangszustand zurück.
Die rechen Buttons dienen zum einen dazu, den Erweiterungsspeicher anzuzeigen (show XMem) und zum anderen dazu ein hex File in den Rom zu laden.
Verwendet man den integrierten Assembler, so wird der Code nach erforlgreichem Compilieren automatisch in den Simulator geladen.
Somit ist dieser Button nur nötig um ein bereits vorhandenes hex File zu laden und zu simulieren.