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, | ||