Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
elektronik:u883:bm200 [2021/08/03 06:46] – angelegt volkerp | elektronik:u883:bm200 [2021/08/03 06:57] (aktuell) – volkerp | ||
---|---|---|---|
Zeile 88: | Zeile 88: | ||
Port 2 drei Steuersignale vorhanden: | Port 2 drei Steuersignale vorhanden: | ||
- | * P20 = high: SIO mit Datensichtgerät verbunden | + | * P20 = high: SIO mit Datensichtgerät verbunden (Terminal Mode) |
- | (Terminal Mode) | + | * P21 = high: SIO mit Wirtsrechner verbunden (Host Mode) |
- | * P21 = high: SIO mit Wirtsrechner verbunden | + | * P22 = high: Datensichtgerät mit Wirtsrechner verbunden (Transparent Mode). |
- | (Host Mode) | + | |
- | * P22 = high: Datensichtgerät mit Wirtsrechner | + | |
- | verbunden (Transparent Mode). | + | |
Wenn der Wirtsrechner mit einer eigenen | Wenn der Wirtsrechner mit einer eigenen | ||
Zeile 273: | Zeile 270: | ||
===== 3.2. Assembler und Disassembler ===== | ===== 3.2. Assembler und Disassembler ===== | ||
- | Mit Assemble <adr> kann ein bei <adr> beginnendes | + | Mit **Assemble <adr>** kann ein bei <adr> beginnendes |
Programmstück kontrolliert bzw. | Programmstück kontrolliert bzw. | ||
eingegeben werden. Zuerst wird der Disassembler | eingegeben werden. Zuerst wird der Disassembler | ||
Zeile 286: | Zeile 283: | ||
die folgenden Pseudo-Befehle: | die folgenden Pseudo-Befehle: | ||
- | BVAL < | + | BVAL < |
- | Byte Value, Definieren eines 8-Bit-Wertes | + | WVAL < |
- | WVAL < | + | DEFS <len> Define Storage, Freihalten von Speicher der Länge <len>\\ |
- | Word Value, Definieren eines 16-Bit-Wertes | + | DEFM '< |
- | DEFS <len> | + | |
- | Define Storage, Freihalten von Speicher der | + | |
- | Länge < | + | |
- | DEFM '< | + | |
- | Define Message, Einsetzen von ASCII-Text | + | |
- | in das Programm. | + | |
8-Bit-Operanden werden dezimal oder hexadezimal | 8-Bit-Operanden werden dezimal oder hexadezimal | ||
Zeile 304: | Zeile 295: | ||
Arbeitsregistern oder Arbeitsdoppelregistern | Arbeitsregistern oder Arbeitsdoppelregistern | ||
sind immer dezimal einzugeben. ' | sind immer dezimal einzugeben. ' | ||
- | at) kennzeichnet direkte Operanden. | + | at) kennzeichnet direkte Operanden.\\ |
Die Indexregister bei indizierter Adressierung | Die Indexregister bei indizierter Adressierung | ||
werden in runde Klammern eingeschlossen. | werden in runde Klammern eingeschlossen. | ||
- | 3.3. Editor/ | + | ===== 3.3. Editor/ |
Mit # als Monitorkommando wird Tiny-MPBASIC | Mit # als Monitorkommando wird Tiny-MPBASIC | ||
Zeile 333: | Zeile 324: | ||
sind: | sind: | ||
- | LIST [< | + | ** LIST [< |
Auflisten der spezifizierten Programmzeile | Auflisten der spezifizierten Programmzeile | ||
bzw. des gesamten Programms. Wenn nur | bzw. des gesamten Programms. Wenn nur | ||
Zeile 343: | Zeile 334: | ||
Einsatzfällen typisch sind. | Einsatzfällen typisch sind. | ||
- | RUN | + | **RUN**\\ |
Starten des BASIC-Programms. RUN ruft | Starten des BASIC-Programms. RUN ruft | ||
den MPBASIC-lnterpreter im UB8830 auf. | den MPBASIC-lnterpreter im UB8830 auf. | ||
Zeile 361: | Zeile 352: | ||
werden dabei erkannt: | werden dabei erkannt: | ||
- | #1 Überlauf des GOSUB-Stack | + | #1 Überlauf des GOSUB-Stack\\ |
- | #2 Auftreten von RETURN ohne GOSUB | + | #2 Auftreten von RETURN ohne GOSUB\\ |
- | #3 Auftreten von GOSUB ohne RETURN | + | #3 Auftreten von GOSUB ohne RETURN (Meldung erst am Programmende)\\ |
- | (Meldung erst am Programmende) | + | #4 Division durch Null\\ |
- | #4 Division durch Null | + | |
#8 Zahlenbereichsüberschreitung. | #8 Zahlenbereichsüberschreitung. | ||
Zeile 377: | Zeile 367: | ||
Anhalten des Programms bewirkt. | Anhalten des Programms bewirkt. | ||
- | EXEC | + | **EXEC**\\ |
Starten eines BASIC-Programms, | Starten eines BASIC-Programms, | ||
kein STOP bei Fehlern | kein STOP bei Fehlern | ||
- | CONT [< | + | **CONT [< |
Fortsetzen des Programms ab < | Fortsetzen des Programms ab < | ||
ohne Argument nach STOP | ohne Argument nach STOP | ||
- | STEP [< | + | **STEP [< |
Abarbeiten der angegebenen bzw. der nächsten | Abarbeiten der angegebenen bzw. der nächsten | ||
Programmzeile. Wenn einmal STEP | Programmzeile. Wenn einmal STEP | ||
Zeile 391: | Zeile 381: | ||
abgearbeitet werden. | abgearbeitet werden. | ||
- | SIZE | + | **SIZE**\\ |
Ausgabe folgender Daten von Programm | Ausgabe folgender Daten von Programm | ||
und Prozedurtabelle: | und Prozedurtabelle: | ||
Anfangsadresse, | Anfangsadresse, | ||
- | GET < | + | **GET < |
Laden eines BASIC-Programms vom Wirtsrechner. | Laden eines BASIC-Programms vom Wirtsrechner. | ||
Das Programm wird auf die Adresse | Das Programm wird auf die Adresse | ||
Zeile 402: | Zeile 392: | ||
abgeladen wurde. | abgeladen wurde. | ||
- | ---------------------- | ||
- | Bild 3 Blockschaltbild des UB8830-Entwicklungsmoduls | + | **SAVE < |
- | + | ||
- | ... | + | |
- | + | ||
- | Bild 4 Speicheraufteilung im U8830-Entwicklungsmodul | + | |
- | + | ||
- | | + | |
- | %E000-%FFFF U2365 BM200 (ROM) | + | |
- | %6000-%DFFF externe Speichererweiterung | + | |
- | %4000-%5FFF Adreßraum für Bausteine | + | |
- | (MEMORY-MAPPED I/O) | + | |
- | %2800-%3FFF Arbeitsspeicher {extern) | + | |
- | %2000-%27FF Arbeitsspeicher auf EM vorhanden | + | |
- | $0800-%1FFF RAM für | EPROM für | + | |
- | Programm- | + | |
- | entwicklung | Programme | + | |
- | %0000-%07FF interner | + | |
- | U883-ROM | + | |
- | + | ||
- | Bild 5 Programmentwicklung mit dem U8830- | + | |
- | Entwicklungsmodul | + | |
- | + | ||
- | ... | + | |
- | + | ||
- | Bild 6 Mögliche Strukturen von Programmen | + | |
- | + | ||
- | a) Hauptprogramm (TMPB) | + | |
- | | + | |
- | Bedienprogramme, | + | |
- | Funktionen u.a.) | + | |
- | + | ||
- | b) Hauptprogramm (Maschinensprache) | + | |
- | | + | |
- | in Maschinensprache | + | |
- | + | ||
- | ---------------------- | + | |
- | + | ||
- | + | ||
- | SAVE < | + | |
Abladen eines BASIC-Programms auf den | Abladen eines BASIC-Programms auf den | ||
Wirtsrechner | Wirtsrechner | ||
- | BYE | + | **BYE**\\ |
Rückkehr in den Systemmonitor. | Rückkehr in den Systemmonitor. | ||
- | + | ====== | |
- | 4. Datenaustausch mit einem | + | |
- | Wirtsrechner | + | |
Bevor der Datenaustausch beginnt, wird das | Bevor der Datenaustausch beginnt, wird das | ||
Zeile 467: | Zeile 416: | ||
eine Startadresse, | eine Startadresse, | ||
sowie die eigentlichen Daten enthält. | sowie die eigentlichen Daten enthält. | ||
- | |||
- | Andern | ||
- | in RAf1 | ||
- | Bild 5 Programmentwicklung mit dem U8830- | ||
- | Entwicklungsmodul | ||
Diese Blöcke sind folgendermaßen aufgebaut: | Diese Blöcke sind folgendermaßen aufgebaut: | ||
- | /< | + | |
- | ... < | + | |
Dabei markiert '/' | Dabei markiert '/' | ||
oder einer Fehlermeldung. | oder einer Fehlermeldung. | ||
Zeile 494: | Zeile 437: | ||
wird als Folge %38 %42 codiert). Der letzte | wird als Folge %38 %42 codiert). Der letzte | ||
Block beinhaltet die Eintrittsadresse: | Block beinhaltet die Eintrittsadresse: | ||
- | /< | + | |
- | <CR> | + | |
Anstelle der Blockanfangsadresse steht der | Anstelle der Blockanfangsadresse steht der | ||
Eintrittspunkt; | Eintrittspunkt; | ||
Zeile 509: | Zeile 451: | ||
Störungen zu unterdrücken. Auch eine Fehlermeldung | Störungen zu unterdrücken. Auch eine Fehlermeldung | ||
der Form | der Form | ||
- | //< | + | |
führt zum sofortigen Abbruch der Datenübertragung, | führt zum sofortigen Abbruch der Datenübertragung, | ||
wobei das zweite '/' | wobei das zweite '/' | ||
Block als Fehlermeldung kennzeichnet. | Block als Fehlermeldung kennzeichnet. | ||
- | 5. UB8830-Entwicklungsmodul | + | ====== |
+ | |||
+ | Bild 3 Blockschaltbild des UB8830-Entwicklungsmoduls | ||
+ | |||
+ | ... | ||
+ | |||
+ | Bild 4 Speicheraufteilung im U8830-Entwicklungsmodul | ||
+ | |||
+ | | ||
+ | %E000-%FFFF U2365 BM200 (ROM) | ||
+ | %6000-%DFFF externe Speichererweiterung | ||
+ | %4000-%5FFF Adreßraum für Bausteine | ||
+ | (MEMORY-MAPPED I/O) | ||
+ | %2800-%3FFF Arbeitsspeicher {extern) | ||
+ | %2000-%27FF Arbeitsspeicher auf EM vorhanden | ||
+ | $0800-%1FFF RAM für | EPROM für | ||
+ | Programm- | ||
+ | entwicklung | Programme | ||
+ | %0000-%07FF interner | ||
+ | U883-ROM | ||
+ | |||
Bild 3 zeigt das Blockschaltbild des UB8830- | Bild 3 zeigt das Blockschaltbild des UB8830- | ||
Entwicklungsmoduls (im folgenden EM abgekürzt) | Entwicklungsmoduls (im folgenden EM abgekürzt) | ||
- | und Bild 4 die Speicheraufteilung. | + | und Bild 4 die Speicheraufteilung.\\ |
Es kann ab Adresse %800 mit bis zu 6 KByte | Es kann ab Adresse %800 mit bis zu 6 KByte | ||
Daten- und 6 KByte Programmspeicher bestückt | Daten- und 6 KByte Programmspeicher bestückt | ||
Zeile 530: | Zeile 492: | ||
Um mit dem ROM U2365D45 | Um mit dem ROM U2365D45 | ||
BM200 arbeiten zu können, muß der RAM als | BM200 arbeiten zu können, muß der RAM als | ||
- | Programmspeicher geschaltet sein. | + | Programmspeicher geschaltet sein.\\ |
Mit dem Kommando " | Mit dem Kommando " | ||
ist es möglich, den EPROM-Inhalt (gewöhnlich | ist es möglich, den EPROM-Inhalt (gewöhnlich | ||
Zeile 538: | Zeile 500: | ||
dem Monitor. Damit ist es ebenfalls möglich, | dem Monitor. Damit ist es ebenfalls möglich, | ||
das Programm aus dem RAM direkt über einen | das Programm aus dem RAM direkt über einen | ||
- | Programmierzusatz in EPROMs zu programmieren. | + | Programmierzusatz in EPROMs zu programmieren.\\ |
Mit dem Schalter S2 kann der | Mit dem Schalter S2 kann der | ||
RAM ein Schreibverbot erhalten, wodurch | RAM ein Schreibverbot erhalten, wodurch | ||
Zeile 546: | Zeile 508: | ||
%812 führt. Damit kann das Programm so | %812 führt. Damit kann das Programm so | ||
starten, als ob es bereits in einem EPROM | starten, als ob es bereits in einem EPROM | ||
- | stünde. | + | stünde.\\ |
Von den maximal 2 KByte Arbeits-RAM werden | Von den maximal 2 KByte Arbeits-RAM werden | ||
vom ROM-Programm etwa %100 Byte | vom ROM-Programm etwa %100 Byte | ||
Zeile 565: | Zeile 527: | ||
3 für Ausgabezwecke, | 3 für Ausgabezwecke, | ||
Output-Enable- bzw. Strobeeingänge der | Output-Enable- bzw. Strobeeingänge der | ||
- | Latches mit herausgeführt sind. | + | Latches mit herausgeführt sind.\\ |
Der interne getriebene Bus des EM steht an | Der interne getriebene Bus des EM steht an | ||
einem 58poligen Steckverbinder für Erweiterungen | einem 58poligen Steckverbinder für Erweiterungen | ||
Zeile 571: | Zeile 533: | ||
EM ist voll dekodiert, für jeweils 8 KByte liegen | EM ist voll dekodiert, für jeweils 8 KByte liegen | ||
sogenannte Blockenablesignale am Erweiterungsstecker | sogenannte Blockenablesignale am Erweiterungsstecker | ||
- | an. | + | an.\\ |
Ein Transverter erzeugt die für die abgerüsteten | Ein Transverter erzeugt die für die abgerüsteten | ||
V.24-Schnittstellen benötigten Spannungen | V.24-Schnittstellen benötigten Spannungen | ||
Zeile 591: | Zeile 553: | ||
EMR zur Steuerung verwendet. | EMR zur Steuerung verwendet. | ||
- | 6. Softwareentwicklung | + | ====== |
+ | |||
+ | Bild 5 Programmentwicklung mit dem U8830- | ||
+ | Entwicklungsmodul | ||
+ | |||
+ | ... | ||
+ | |||
+ | Bild 6 Mögliche Strukturen von Programmen | ||
+ | |||
+ | a) Hauptprogramm (TMPB) | ||
+ | | ||
+ | Bedienprogramme, | ||
+ | Funktionen u.a.) | ||
+ | |||
+ | b) Hauptprogramm (Maschinensprache) | ||
+ | | ||
+ | in Maschinensprache | ||
Im Bild 5 ist der Ablauf der Programmentwicklung | Im Bild 5 ist der Ablauf der Programmentwicklung | ||
- | mit dem UB8830-EM dargestellt. | + | mit dem UB8830-EM dargestellt.\\ |
Vor Ort können Programmkorrekturen ohne | Vor Ort können Programmkorrekturen ohne | ||
Wirtsrechner durchgeführt werden. Einzige | Wirtsrechner durchgeführt werden. Einzige | ||
Zeile 613: | Zeile 591: | ||
(Literatur und Kontakthinweis auf Seite 251) | (Literatur und Kontakthinweis auf Seite 251) | ||
- | S.251: | ||
- | Literatur | + | ====== |
+ | (S.251) | ||
- | /1/ Müller, S.: Einchipmikrorechner U883 interpretiert | + | * [1] Müller, S.: Einchipmikrorechner U883 interpretiert Tiny-MPBASIC. Radio, |
- | Tiny-MPBASIC. Radio, | + | * [2] Dugnus, G.: Neue Festwertspeicherbauelemente. Radio, Ferns., Elektron., Berlin 34 (1985) 11, S. 691 |
- | Berlin 34(1985) 3, S.143 | + | * [3] Müller, S.: Programmieren mit BASIC. REIHE AUTOMATISIERUNGSTECHNIK, |
- | /2/ Dugnus, G.: Neue Festwertspeicherbauelemente. | + | |
- | Radio, Ferns., Elektron., Berlin 34 | + | |
- | (1985) 11, S. 691 | + | |
- | /3/ Müller, S.: Programmieren mit BASIC. REIHE | + | |
- | AUTOMATISIERUNGSTECHNIK, | + | |
- | VEB Verlag Technik, Berlin 1985 | + | |
- | KONTAKT | + | **KONTAKT**\\ |
- | VEB Mikroelektronik "Karl Marx" Erfurt, Applikation | + | VEB Mikroelektronik "Karl Marx" Erfurt, Applikation\\ |
- | Bauelemente, | + | Bauelemente, |
Tel.5 10 76 App.40, | Tel.5 10 76 App.40, | ||