Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision |
homecomputer:bert [2021/12/10 07:22] – [Mini-Assembler] volkerp | homecomputer:bert [2022/05/10 13:00] – [Mini-Assembler] volkerp |
---|
</code> | </code> |
| |
==== Kommandos ==== | ==== Kommandomodus ==== |
| |
| Mit dem BASIC/DEBUG-Befehl "GO@%1018" wird der Kommandomodus gestartet. Statt Basic übernimmt eine eigene Kommandoroutine die Kommunikation. |
| Man kann mit einem Terminalprogramm (z.B. TeraTerm) die BERT-Kommandos interaktiv ausprobieren. Oder ein PC-Steuerprogramm kommuniziert mit BERT, indem die BERT-Kommandos mit PRINT #2"..." gesendet werden. Mit INPUT#2 werden Werte gelesen. |
| |
| Das Buch Kapitel 4 bis 7 arbeitet auf letztere Weise- PC-BASIC-Programme kommunizieren mit BERT, indem sie über Kanal 2 ASCII-Zeichen senden bzw. empfangen. |
| |
Im Kommandomodus werden Kommandos als ASCII-Zeichenketten an BERT gesendet. Ein Kommando wird mit ENTER (0Dh) abgeschlossen. Zahlen werden als Dezimalzahlen übertragen. Die Befehle sind alle gleich aufgebaut: Buchstaben benennen den Port, eventuell gefolgt von einer Bit-Nummer (z.B. 'C3', oder aber eine Abkürzung des Kommandos ('M'). Der Befehl wird mit **=** oder **?** abgeschlossen. Es schließt sich die Ausgabe bzw. das Einlesen eines Zahlenwertes an. | Im Kommandomodus werden Kommandos als ASCII-Zeichenketten an BERT gesendet. Ein Kommando wird mit ENTER (0Dh) abgeschlossen. Zahlen werden als Dezimalzahlen übertragen. Die Befehle sind alle gleich aufgebaut: Buchstaben benennen den Port, eventuell gefolgt von einer Bit-Nummer (z.B. 'C3', oder aber eine Abkürzung des Kommandos ('M'). Der Befehl wird mit **=** oder **?** abgeschlossen. Es schließt sich die Ausgabe bzw. das Einlesen eines Zahlenwertes an. |
Adresse expr beginnt. | Adresse expr beginnt. |
'G=',expr | 'G=',expr |
| |
| G=0 beendet den Kommandomodus und startet wieder den BASIC/DEBUG-Modus (Soft-Reset) |
| |
**Ergänzende Hinweise** | **Ergänzende Hinweise** |
Absetzen des Kommandos erfolgen. Dies gilt insbesondere für die Kommandos des | Absetzen des Kommandos erfolgen. Dies gilt insbesondere für die Kommandos des |
Multiplexverfahrens und der Motorsteuerung. | Multiplexverfahrens und der Motorsteuerung. |
| |
==== BASIC/DEBUG-Modus ==== | ==== BASIC/DEBUG-Modus ==== |
| |
Nach einem Reset befindet sich BERT bzw. der [[elektronik:z8671|Z8671]] im [[elektronik:z8671:handbuch|BASIC/DEBUG-Modus]]. Wird kein Programm auf Adresse 1020h gefunden, sendet das BASIC/DEBUG des Z8671 einen ':' als Bereitschaftszeichen für eine mögliche Kommunikation. Für die Umschaltung in den BERT-Kommandomodus wird nun mittels BASIC/DEBUG-Direktkommando 'GO@%1018' das Kommandomodusprogramm gestartet. Im BASIC/DEBUG-Modus dagegen können beliebige BASIC/DEBUG-Befehle an den Z8671 gesendet werden, z.B. | Nach einem Reset befindet sich BERT bzw. der [[elektronik:z8671|Z8671]] im BASIC/DEBUG-Modus. Wird kein Programm auf Adresse 1020h gefunden, sendet das [[elektronik:z8671:handbuch|BASIC/DEBUG]] des Z8671 einen ':' als Bereitschaftszeichen für eine mögliche Kommunikation. Für die Umschaltung in den BERT-Kommandomodus wird nun mittels BASIC/DEBUG-Direktkommando 'GO@%1018' das Kommandomodusprogramm gestartet. Im BASIC/DEBUG-Modus dagegen können beliebige BASIC/DEBUG-Befehle an den Z8671 gesendet werden, z.B. |
| |
10 PRINT "HALLO BERT" | 10 PRINT "HALLO BERT" |
==== Mini-Assembler ==== | ==== Mini-Assembler ==== |
| |
Im Buch wird ein zusätzlicher EPROM von B. Holzhauer beschrieben, der mit BERT genutzt werden kann und einen kleinen Z8-Assembler enthält. Dieser Assembler läuft auf Adresse %0800-%0fff. um ihn im Steckplatz für RAM2 betreiben zu können, müssen am EPROM Pin 18 und 21 abgewinkelt werden, und Pin 21 mit +5V und Pin 18 mit Lötpunkt %800 verbunden werden. | Im Buch wird ein zusätzlicher EPROM von B. Holzhauer beschrieben, der mit BERT genutzt werden kann und einen kleinen Z8-Assembler enthält. Dieser Assembler läuft auf Adresse %0800-%0FFF. um ihn im Steckplatz für RAM2 betreiben zu können, müssen am EPROM Pin 18 und 21 abgewinkelt werden, und Pin 21 mit +5V und Pin 18 mit Lötpunkt %800 verbunden werden. |
| |
Der Mini-Assembler arbeitet mit Zeilennummern. Er kennt keine Kommentare. Der Code wird als Basicprogramm erfasst. Mit GO@%800 wird der Assemblerlauf gestartet. | Der Mini-Assembler arbeitet mit Zeilennummern. Er kennt keine Kommentare. Der Code wird als Basicprogramm erfasst. Mit GO@%800[,zeile] wird der Assemblerlauf gestartet. |
| |
Beispiel: Einlesen einer zweistelligen BCD-Zahl an Port C\\ | Beispiel: Einlesen einer zweistelligen BCD-Zahl an Port C\\ |
</code> | </code> |
| |
Die Routine kann dann mit USR(%13FD) aufgerufen werden. | Nach dem Assemblieren mit GO@%800 kann anschließend die übersetzte Maschinencode-Routine mit USR(%13FD) aufgerufen werden. |
| |
Um sie als neues Kommando 'BCD?' für den Kommandomodus bereitzustellen, muss die Kommandotabelle im System-EPROM ergänzt werden. Ab %1A87 sind 11 Byte dafür freigehalten (s. Monitorprogramm). | Um sie als **neues Kommando 'BCD?'** für den Kommandomodus bereitzustellen, muss die Kommandotabelle im System-EPROM ergänzt werden. Ab %1A87 sind 11 Byte dafür freigehalten (s. Monitorprogramm). |
| |
%1A87: 'B'+%80, 'C', 'D', '?', %13FD>>7, %13FD&&%7F (die Startadr. wird in 2x7Bit aufgeteilt) | %1A87: 'B'+%80, 'C', 'D', '?', %13FD>>7, %13FD&&%7F (die Startadr. wird in 2x7Bit aufgeteilt) |
| |
2019: Der beschriebene Assembler-ROM galt als verschollen, es war nichts mehr darüber zu finden, auch B. Holzhauer hat nichts mehr. Es handelt sich aber mit sehr hoher Wahrscheinlichkeit um den Mini-Assembler von Zilog. Im Buch "G. Ledig, Mikroprozessoren in der Meß- und Regeltechnik, Franzis Verlag 1988, ISBN 3772394418" ist er beschrieben und auch als Hex-Dump zu finden. Download: | 2019: Der beschriebene Assembler-ROM galt als verschollen, es war nichts mehr darüber zu finden, auch B. Holzhauer hat nichts mehr. Es handelt sich aber mit sehr hoher Wahrscheinlichkeit um den [[elektronik:z8671:assembler|Mini-Assembler]] von Arcom Ltd. Im Buch "G. Ledig, Mikroprozessoren in der Meß- und Regeltechnik, Franzis Verlag 1988, ISBN 3772394418" ist er beschrieben und auch als Hex-Dump zu finden. Download: |
| |
https://www.shotech.de/Datasheet/BERT2/BERT-Assembler.zip | https://www.shotech.de/Datasheet/BERT2/BERT-Assembler.zip |