*** SYMON-M Version 3.4 *** fuer ECBCPUZ280F (C) Raoul O. Koerber Z280 Extras von Volker Goller MENUE mit "Y" HILFE mit "Y Y" SYMON fuer ECBCPUZ280F aaaa Anfangsadresse eeee Endadresse dddd Zieladresse bb Byte nn Wert A dddd Assemblieren ab Adresse dddd B reakpoint auf adr. aaaa setzen C dddd Programmaufruf auf dddd D ((aaaa) eeee) Speicherdump E F aaaa eeee bb Speicher fuellen mit bb G dddd,brk,brk Aufruf mit Haltepunkten H aaaa eeee Hexmathematik aaaa +/- eeee I(W) aa Einlesen Inhalt von Port aa J nn I/O Page setzen K (0..3) Cache an/aus L aaaa Disassemble ab aaaa M aaaa eeee dddd Speicherverschiebung N Watchdog testen O(W) aa nn(nn) Ausgabe nn auf Port aa P Board Status anzeigen Q 0/1 FPIO init(0) Messageint(1) R (aaaa) lese INTEL-HEX von Punch S aaaa Speicherstelle setzen T tracen nach G dddd brk U(S) Uhrzeit u. Datum lesen (setzen) V aaaa eeee dddd Speicher vergleichen W riteprotect ab Page aa, ee Pages X {reg,val} Register ausdrucken/setzen Y @ : Hilfstext fuer Befehl @ anzeigen Z bb ... Werte bb im Speicher suchen A ssembler. Aufruf : A Der eingebaute Zeilenassembler beherrscht lediglich die Z80 Befehle. B reakpoint. Aufruf : B Ein Breakpoint wird gesetzt. Der Anwender muss darauf achten, das auf das erste Byte einer Instruktion zeigt. C all. Aufruf : C Das Programm auf Adresse wird gestartet. Das Programm kann mit RET Instruktion die Kontrolle an den Monitor zurueckgeben. D isplay. Aufruf : D Ab Aresse werden 16 Zeilen (256 Byte) Speicher formatiert ausgegeben. Druckbare Zeichen werden zusaetzlich in Ascii-Format aufgelistet. E ---- nicht implementiert ---- F ill. Aufruf : F Der Speicher wird von Adresse bis Adresse mit dem Bytewert gefuellt. G o. Aufruf : G Das Programm auf Adresse wird gestartet. Zusaetzlich koennen zwei Breakpoints gesetzt werden. H exmathematik. Aufruf : H Es werden Summe und Differenz von arg1 und arg2 gebildet. Beide Ergebnisse werden zusaetzlich als Dualzahlen dargestellt. I nput. Aufruf : I Der IO-Port wird ausgelesen. Achtung ! Nicht vergessen die IOPAGE (commando J) zu setzen J I/O Page. Aufruf : J Das Z280 IOPAGE-Register wird mit dem Wert geladen. K Cache. Aufruf : K Mit K kann der Cache gezielt ein- und ausgeschaltet werden. "K 0" schaltet den Cache aus "K 1" gibt den Cache fuer Befehle frei "K 2" gibt den Cache fuer Daten frei "K 3" gibt den Cache fuer beides frei Nach Reset ist der Cache fuer Befehle freigegeben. L ist. Aufruf : L Der Speicher ab wird disassembliert. Es werden z.Z. nur Z80 Befehle korrekt behandelt. M ove. Aufruf : M Der Speicherbereich von bis wird nach verschoben. Move sorgt dafuer, das die Daten auch bei ueberlappenden Transfers erhalten bleiben. N mi.. Aufruf : N Der NMI Zaehler (32Bit) wird in Hex angezeigt O utput. Aufruf : O Der an den IO-Port wird der Wert uebergeben. Achtung ! Nicht vergessen die IOPAGE (commando J) zu setzen P Board Status zeigt einige Systemgroessen an. Probieren ! Q FPIO Test. Aufruf : Q 0/1 0 = Reset FPIO und FIO initialisieren 1 = Message Nr. 55 ausgeben und "FIO Test ok" ins FIFO schieben Loest einen Interrupt auf FPIO aus, der die Message Nr. und FIFO Daten ausgibt R ead. Aufruf : R Ueber die serielle Schnittstelle wird eine INTEL-HEX Datei erwartet Wird angegeben, dann wird die Datei nach geschrieben. Ansonsten wird die in der Datei enthaltene Ladeadresse verwendet. S et. Aufruf : S Mit SET kann der Speicher Byteweise ab Adresse geaendert werden Die Eingabe eines unerlaubten Zeichens fuehrt zum Abbruch. T race. Aufruf : T Der Trace wird i.A. erst nach einem Breakpoint verwendet. Wird t oder T eingegeben, wird ein weiterer Befehl ausgefuehrt. Der Trace arbeitet korrekt mit Z280 Befehlen. Die Disassemblierten Menemonics die mit der Tracezeile ausgegeben werden sind z.Z. noch mit Vorsicht zu behandeln. Der Disassembler kann nur Z80 Befehle korrekt bearbeiten. U Uhrzeit und Datum ausgeben. Aufruf: U US Zeit und Datum setzen. Aufruf : US Die Werte werden direkt vom Anwender erfragt. D steht fuer Wochentag. V erify. Aufruf : V Der Speicher wird von Adresse bis Adresse mit dem Speicher ab start2 verglichen. Angezeigt werden nur unterschiede. W riteprotect. Aufruf : W Ab MMU-Seite werden Seiten Schreibgeschuetzt. Die Seite 18h kann nicht geschuetzt werden (SYMON-Workspace) -- Hervorragend zum "weichen" testen von Programmen die ROM-faehig sein sollen. Der Schreibschutz wird durch den Befehl >C0< aufgehoben X Register. Aufruf : X Wird X ohne Parameter aufgerufen, werden die aktuellen Registerinhalte, wie sie beim TRACE vorhanden sind, angezeigt. Mit X koennen auch Registerwerte geaendert werden. Die Registersymbole muessen den Zilogdefinitionen entsprechen (also z.B. HL statt H). Y ours to help. Aufruf : Y Alle SYMON-Befehle bestehen aus nur jeweils einem Buchstaben. Wird Y mit einem Buchstaben aufgerufen, so erscheint ein kleiner Hilfstext, der den entsprechenden Befehl erklaert Nutzen wir diesen Aufruf fuer einige SYMON Details: Speicherbelegung: EPROM ab 0 bis 4fffh RAM ab 8000h - 8fffh SYMON RAM ab 9000h - ffffh FREI Das Arbeiten mit Programmen im USER-Bereich wird nicht unterstuetzt! Verwendete Breakinstruktion : RST 38h (0ffh). Hintergrundtick 1ms. Eine erweiterte UNIX komp. Uhr wird nachgefuehrt. Die Erweiterung besteht aus einem zusaetzlichen ms Zaehler. ACHTUNG: Die UNIX-Uhr wird z.Z. nicht durch die Hardwareuhr gestellt. ACHTUNG: Einige SYMON-Funktionen koennen per SystemCall (SC) aufgerufen werden. Die Datei SUPER.INC liefert Aufschluss. Dazu gehoert u.a. ein ms-Zaehler mit dem Wertebereich 0-ffff. Er kann fuer Zeitmessungen (z.B. fuer Profiling) verwendet werden. Z ap (suche) Bytefolge. Aufruf : Z ... Suche die Bytefolge , , ... im Speicher