Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| z9001:software:idas [2011/02/03 10:01] – volkerp | z9001:software:idas [2018/10/17 11:21] (aktuell) – volkerp | ||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| **Ein Interaktiver Dialogassembler für KC 87** | **Ein Interaktiver Dialogassembler für KC 87** | ||
| + | |||
| + | Der IDAS ist ein Dienstprogramm zur dialogorientierten Erarbeitung von | ||
| + | Programmen in der Assemblersprache SYPS K 1520. Er vereinigt in sich | ||
| + | Editier-, Übersetzer- und Interpreterfunktionen. Besonders geeignet ist er | ||
| + | dann, wenn Befehlsfolgen und kurze Programme (z. B. Unterprogramme | ||
| + | für den BASIC-Interpreter) rationell aufgestellt und getestet werden sollen. | ||
| + | |||
| + | Mit IDAS hat der Anwender die Möglichkeit, | ||
| ===== Speicherbelegung ===== | ===== Speicherbelegung ===== | ||
| - | RAM-Version 0400h-1BFFh | ||
| - | ROM-Version 0C000h-0E7FFh | + | | Dateiname | IDAS.COM | |
| + | | Laden in | OS | | ||
| + | | Programmstandort | 0400h-1BFFh (RAM-Version)\\ 0C000h-0E7FFh | ||
| + | | OS-Kommando | IDAS | | ||
| - | Es gibt zwei ROM-Versionen: | + | Der Speicher |
| - | Der IDAS bei U. Zander meldet sich mit " | + | Es gibt zwei ROM-Versionen: |
| + | Da der IDAS nur ~ 6KByte Speicher belegt, sind im Modul noch 4K ROM frei. Das robotron-IDAS-Modul meldet sich mit "IDAS :" und enthält im zusätzlichen Speicher den ZM 2.0 (Z9001 MONITOR V2.0 (ROM) 1985) und die EPROM-Software für das Programmier-Modul. | ||
| + | Der IDAS bei U. Zander meldet sich mit " | ||
| - | Auch von der RAM-Version gibt es verschiedene Fassungen. | + | Auch von der RAM-Version gibt es verschiedene Fassungen |
| ===== Anleitung ===== | ===== Anleitung ===== | ||
| - | |||
| - | IDAS belegt den Speicher von 0300H bis 10FFH. | ||
| Nach Start erscheint die Meldung ' | Nach Start erscheint die Meldung ' | ||
| Zeile 53: | Zeile 63: | ||
| < | < | ||
| - | | + | |
| - | M1: LD M,A | + | M1: LD M,A |
| - | JR M1-# JR M1 IN 3CH IN A,(3CH) | + | JR M1-# JR M1 |
| - | JMP M1 JP M1 CMP 0 CP 0 | + | JMP M1 JP M1 |
| - | JRC M1-# JR C,M1 ADD B ADD A,B | + | JRC M1-# JR C,M1 |
| - | JPZ M1 JP Z,M1 JMP M JP (HL) | + | JPZ M1 JP Z,M1 |
| - | CANZ M1 CALL NZ,M1 | + | CANZ M1 CALL NZ,M1 |
| DJNZ M1-# DJNZ M1 | DJNZ M1-# DJNZ M1 | ||
| + | OUT 80H OUT (80H),A | ||
| + | | ||
| + | CMP 0 CP 0 | ||
| + | ADD B ADD A,B | ||
| + | JMP M JP (HL) | ||
| + | | ||
| </ | </ | ||
| Zeile 74: | Zeile 90: | ||
| | END | Ende des Quelltextes ; danach dürfen keine Befehle mehr stehen, sonst Absturz möglich | | | END | Ende des Quelltextes ; danach dürfen keine Befehle mehr stehen, sonst Absturz möglich | | ||
| - | Zahlenwerte | + | Zahlenwerte |
| Zahlen | Zahlen | ||
| Die Verwendung von ASCII-Zeichen ist möglich, wenn diese in Hochkommas eingeschlossen werden. | Die Verwendung von ASCII-Zeichen ist möglich, wenn diese in Hochkommas eingeschlossen werden. | ||
| - | Bsp.: | + | Bsp.: '' |
| === Kommandos === | === Kommandos === | ||
| + | | ASGN | Speicherplatzuweisung (s.o.) | | ||
| + | | CM | Rückkehr ins OS (call monitor) | | ||
| | LIST marke | Anzeige Quelltext ab Marke | | | LIST marke | Anzeige Quelltext ab Marke | | ||
| | LIST zeile1, | | LIST zeile1, | ||
| Zeile 93: | Zeile 110: | ||
| | ADDR markename | | ADDR markename | ||
| | PUT konstante | | PUT konstante | ||
| - | | DR | Anzeige Register | | + | | DR | Anzeige Register |
| | DS | Speicher | | DS | Speicher | ||
| + | | READ | Eingabe von Quelltext (an den Anfang)\\ durch ' | ||
| + | | READ zeile1 | Einfügen von Quelltext ab Zeile1 | | ||
| + | | READ marke | Einfügen von Quelltext ab Marke | | ||
| + | | WRIT | Ausgabe von Quelltext\\ durch ' | ||
| + | | WRIT zeile1 | | | ||
| + | | WRIT marke | | | ||
| + | | MCSV | MC-SAVE. Maschinencode entsprechend der bei ASGN zugewiesenen Adressen auf Kassette schreiben. | | ||
| + | | MCSV adr1,adr2 | Speicherabzug von Adresse1 bis Adresse2 auf Kassette schreiben. | | ||
| Zeile 108: | Zeile 133: | ||
| | +SYM+ | Symbolfehler | | | +SYM+ | Symbolfehler | | ||
| - | (Ein "beliebter" | + | Ein beliebter Fehler: in der Eingabezeile sind Control-Zeichen enthalten. Deshalb: keine Cursortasten benutzen! |
| - | === Arbeit mit dem Massenspeicher | + | ===== Versionen ===== |
| - | | READ | Eingabe von Quelltext (an den Anfang)\\ durch ' | + | Vom IDAS gibt es mehrere |
| - | | READ zeile1 | Einfügen von Quelltext ab Zeile1 | | + | |
| - | | READ marke | Einfügen von Quelltext ab Marke | | + | |
| - | | WRIT | Ausgabe von Quelltext\\ durch ' | + | |
| - | | WRIT zeile1 | | | + | |
| - | | WRIT marke | | | + | |
| - | | MCSV | MC-SAVE. Maschinencode entsprechend der bei ASGN zugewiesenen Adressen auf Kassette schreiben. | | + | |
| - | | MCSV adr1,adr2 | Speicherabzug von Adresse1 bis Adresse2 auf Kassette schreiben. | | + | |
| - | + | ||
| - | ===== Hinweise ===== | + | |
| - | + | ||
| - | Vom IDAS gibt es meherere | + | |
| **IDAS RAM-Version Kassette R0122**\\ | **IDAS RAM-Version Kassette R0122**\\ | ||
| Zeile 132: | Zeile 146: | ||
| 4. Block CRC = 6904, SUM = 3FC4 | 4. Block CRC = 6904, SUM = 3FC4 | ||
| - | **mein Modul idas.rom**\\ | + | **robotron |
| 1. Block CRC = 7938, SUM = 8F16\\ | 1. Block CRC = 7938, SUM = 8F16\\ | ||
| 2. Block CRC = 1809, SUM = F6E1\\ | 2. Block CRC = 1809, SUM = F6E1\\ | ||
| 3. Block CRC = F7FA, SUM = 47AF\\ | 3. Block CRC = F7FA, SUM = 47AF\\ | ||
| 4. Block CRC = B8EF, SUM = C527\\ | 4. Block CRC = B8EF, SUM = C527\\ | ||
| - | 5. Block CRC = E250, SUM = D35F\\ | + | 5. Block CRC = E250, SUM = D35F |
| - | **ROM-Version U. Zander | + | * idas.rom = IDAS von Modul M002..M006 |
| + | * Meldung mit " | ||
| + | * enthält ZM Z9001 MONITOR V2.0 (ROM) 1985 | ||
| + | * EPROM (Software für robotron-EPROMMER) | ||
| + | * ZM hat Register C und E vertauscht wie in ZM30 der Kassette R0112 | ||
| + | * IDAS entspricht der Version von Kassette R0122 (nur auf andere Adr. gelinkt) | ||
| + | |||
| + | **ROM-Version U. Zander | ||
| 1. Block CRC = A02E, SUM = 8BC7\\ | 1. Block CRC = A02E, SUM = 8BC7\\ | ||
| 2. Block CRC = 628C, SUM = FBAD\\ | 2. Block CRC = 628C, SUM = FBAD\\ | ||
| Zeile 145: | Zeile 166: | ||
| 4. Block CRC = BBBA, SUM = C4D0\\ | 4. Block CRC = BBBA, SUM = C4D0\\ | ||
| 5. Block CRC = B139, SUM = EE30 | 5. Block CRC = B139, SUM = EE30 | ||
| + | |||
| + | * idas_c0.851 = IDAS von UZ, | ||
| + | * Meldung mit " | ||
| + | * enthält ZM Z9001 MONITOR CENT. 1986 | ||
| + | * QUICK, NORMAL, QLOAD (fuer [[z9001: | ||
| + | * IDAS entspricht nicht der Version von Kassette R0122 | ||
| + | * IDAS entspricht nicht der Beschreibung (Seite 3: Nach dem Start meldet sich der Assembler mit der Ausschrift 'IDAS :') | ||
| **ROM von W. Hasche idas_whasche.rom**\\ | **ROM von W. Hasche idas_whasche.rom**\\ | ||
| Zeile 151: | Zeile 179: | ||
| 3. Block CRC = A1C7, SUM = 4EA0\\ | 3. Block CRC = A1C7, SUM = 4EA0\\ | ||
| 4. Block CRC = BBBA, SUM = C4D0\\ | 4. Block CRC = BBBA, SUM = C4D0\\ | ||
| - | 5. Block CRC = 4FDA, SUM = C4F0\\ | + | 5. Block CRC = 4FDA, SUM = C4F0 |
| + | |||
| + | * die letzten 2K sind vermutlich falsch EPROM5 = EPROM4 (bis auf ein Bit), damit entspricht idas_whasche.rom höchstwarscheinlich idas_c0.851 | ||
| + | |||
| + | **ROM-Version Bereich 8000h**\\ | ||
| + | diese Version war bei Ebay versteigert worden. Leider ist die Software nicht publik. | ||