Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
z9001:software:edas [2011/02/03 10:55] – angelegt volkerp | z9001:software:edas [2020/04/30 07:50] (aktuell) – [Assembler] volkerp | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
===== Speicherbelegung ===== | ===== Speicherbelegung ===== | ||
- | RAM-Version | + | RAM-Version |
- | ROM-Version | + | ROM-Version |
+ | Der Speicher von 0300h-0FFFh wird als Arbeitspeicher genutzt. | ||
+ | |||
+ | Der Speicher von 3800H bis RAM-Ende (RAM-Version) bzw. 1000H-RAM-Ende (ROM-Version) wird als Textspeicher genutzt. Mit dem Kommando #A des Editors kann dieser Bereich geändert werden, um Speicherplatz für den übersetzten Maschinencode freizuhalten. | ||
===== Editor ===== | ===== Editor ===== | ||
Zeile 16: | Zeile 19: | ||
Der Editor wird vom OS durch Eingabe von **EDIT** gestartet. | Der Editor wird vom OS durch Eingabe von **EDIT** gestartet. | ||
- | Nach dem Start meldet sich der Editor mit " | + | Nach dem Start meldet sich der Editor mit " |
+ | |||
+ | Durch die Ausgabe von " | ||
Der Editor arbeitet zeilenorientiert, | Der Editor arbeitet zeilenorientiert, | ||
Zeile 23: | Zeile 28: | ||
Zeichenkette erfolgen. | Zeichenkette erfolgen. | ||
- | Durch die Ausgabe von " | + | Korrekturen während der Eingabe einer Zeile sind durch Betätigen der Kursortaste <- und anschließende Eingabe der richtigen Zeichen möglich. Beginnt die Bedienereingabe mit dem Zeichen # (Kommandokennzeichen), |
- | Bedienereingabe angefordert. | + | |
EDIT realisiert folgende Funktionen: | EDIT realisiert folgende Funktionen: | ||
Zeile 37: | Zeile 41: | ||
^ Kommando ^ Syntax ^ Erläuterung ^ | ^ Kommando ^ Syntax ^ Erläuterung ^ | ||
- | | assign | #A | Anzeigen und Modifizieren des Textpufferbereiches | | + | | assign | #A | Anzeigen und Modifizieren des Textpufferbereiches\\ Eingabe hexadezimal als "neue Textpufferanfangsadresse, |
- | | begin | #B | Neustart des Aufbereitungsvorganges | | + | | begin | #B | Neustart des Aufbereitungsvorganges, Rücksetzen auf Textanfang |
| end| #E | Beenden der Arbeit mit dem Editor | | | end| #E | Beenden der Arbeit mit dem Editor | | ||
| read| # | | read| # | ||
| write | # | | write | # | ||
| text | #Tn,m | Ausschreiben des Textpufferinhaltes | | | text | #Tn,m | Ausschreiben des Textpufferinhaltes | | ||
- | | insert | #In | Einfügen von Zeilen | | + | | insert | #In | Einfügen von Zeilen |
- | | kill | #Kn,m | Streichen von Zeilen | | + | | kill | #Kn,m | Streichen von Zeilen |
| comment | #Cn,m | Anfügen von Kommentar | | | comment | #Cn,m | Anfügen von Kommentar | | ||
| no comment | #Nn,m | Streichen von Kommentar | | | no comment | #Nn,m | Streichen von Kommentar | | ||
- | | substitute | #Sn,m\\ / | + | | substitute | #Sn,m\\ / |
| uppercase | #UN oder #U[Y] | Umwandlung von Kleinbuchstaben in Großbuchstaben | | | uppercase | #UN oder #U[Y] | Umwandlung von Kleinbuchstaben in Großbuchstaben | | ||
+ | | ??? | #D | Kommando ist nicht dokumentiert | | ||
+ | | (list) | #Ln,m | (Kommando ist nicht dokumentiert) Ausgabe auf Drucker | | ||
+ | |||
**Fehlermeldungen** | **Fehlermeldungen** | ||
Zeile 86: | Zeile 93: | ||
| 1 | Ausführung des 1. Durchlaufs. Von dem Quelltext, der im Textpuffer des EDIT steht, wird eine Symboltabelle im RAM erzeugt. Dieser Paß ist für die Übersetzung eines Programmes unbedingt notwendig. | | | 1 | Ausführung des 1. Durchlaufs. Von dem Quelltext, der im Textpuffer des EDIT steht, wird eine Symboltabelle im RAM erzeugt. Dieser Paß ist für die Übersetzung eines Programmes unbedingt notwendig. | | ||
| P (print) | P[Zeilennummer1, | | P (print) | P[Zeilennummer1, | ||
- | | M (MC-Output) | Ausgabe des Maschinencodes auf Magnetbandkassette oder in den Arbeitsspeicher entsprechend der Angabe " | + | | M (MC-Output) | Ausgabe des Maschinencodes auf Magnetbandkassette oder in den Arbeitsspeicher entsprechend der Angabe " |
| F (fault) | Syntaktische Prüfung des Quellcodes und Ausgabe der Fehlermeldungen bei syntaktisch falschem Programm. | | | F (fault) | Syntaktische Prüfung des Quellcodes und Ausgabe der Fehlermeldungen bei syntaktisch falschem Programm. | | ||
- | | X (cross-referenze) | Ausgabe der Crossreferenztabelle | | + | | X (cross-reference) | Ausgabe der Crossreferenztabelle | |
| A (adress-dictionary) | Ausgabe der Symbolreferenztabelle | | | A (adress-dictionary) | Ausgabe der Symbolreferenztabelle | | ||
- | | V (variation) | Änderung des Datenflusses für die Ausgabe des Maschinencodes und der Assemblerprotokolle.\\ Nach der Ausschrift " | + | | V (variation) | Änderung des Datenflusses für die Ausgabe des Maschinencodes und der Assemblerprotokolle.\\ Nach der Ausschrift " |
| E (end) | Rücksprung in das Steuerprogramm (Monitor). | | | E (end) | Rücksprung in das Steuerprogramm (Monitor). | | ||
Zeile 145: | Zeile 152: | ||
===== Hinweise ===== | ===== Hinweise ===== | ||
+ | |||
+ | Versionitis: | ||
+ | |||
+ | **RAM-Version von Kassette R0121**\\ | ||
+ | 1. Block CRC = FF06, SUM = F6D4\\ | ||
+ | 2. Block CRC = D060, SUM = A690\\ | ||
+ | 3. Block CRC = 58BB, SUM = E640\\ | ||
+ | 4. Block CRC = 2BD6, SUM = FB4F\\ | ||
+ | 5. Block CRC = 2868, SUM = F82A | ||
+ | |||
+ | **ROM-Version V. Pohlers ASM.COM**\\ | ||
+ | 1. Block CRC = A06F, SUM = 750A\\ | ||
+ | 2. Block CRC = 62E2, SUM = E05D\\ | ||
+ | 3. Block CRC = CCE5, SUM = 542C\\ | ||
+ | 4. Block CRC = 9249, SUM = 6ABC <-- fehlerhaft, Version UZ ist korrekt\\ | ||
+ | 5. Block CRC = 1397, SUM = 6FF4 | ||
+ | |||
+ | **ROM-Version U. Zander edas__c0.851**\\ | ||
+ | 1. Block CRC = A06F, SUM = 750A\\ | ||
+ | 2. Block CRC = 62E2, SUM = E05D\\ | ||
+ | 3. Block CRC = CCE5, SUM = 542C\\ | ||
+ | 4. Block CRC = B883, SUM = 718E\\ | ||
+ | 5. Block CRC = 1397, SUM = 6FF4 | ||
+ | |||
+ | **ROM-Version Torsten Paul asm_tpaul.rom**\\ | ||
+ | 1. Block CRC = 1253, SUM = 6CD3\\ | ||
+ | 2. Block CRC = D3D1, SUM = EBE3\\ | ||
+ | 3. Block CRC = 9467, SUM = 51DC\\ | ||
+ | 4. Block CRC = 3F16, SUM = 8D99\\ | ||
+ | 5. Block CRC = 64BF, SUM = 8434 | ||
+ | |||
+ | **ASM-Modul von AS**\\ | ||
+ | 1. Block CRC = 1253\\ | ||
+ | 2. Block CRC = 0E96\\ | ||
+ | 3. Block CRC = 9467\\ | ||
+ | 4. Block CRC = 9D54\\ | ||
+ | 5. Block CRC = C6FD | ||
+ | |||
+ | ===== Tipps ===== | ||
+ | |||
+ | |||
+ | * Beim Assembler ASM auf Adresse 18C2H: CD 4E 17 ändern in 3 x NOP (00). Dann wird beim Speichern aus dem Editor nicht mehr mit gelistet, das Speichern geht wesentlich flotter. | ||
+ | * Quelltexte bekommen die Endung TXT | ||
+ | |||
+ | ===== Beispiel ===== | ||
+ | |||
+ | < | ||
+ | robotron | ||
+ | |||
+ | OS | ||
+ | > | ||
+ | Kommandos " | ||
+ | |||
+ | > | ||
+ | EDIT: | ||
+ | +# | ||
+ | +# | ||
+ | +# | ||
+ | |||
+ | OS | ||
+ | > | ||
+ | ASM--HC: | ||
+ | HL: | ||
+ | MO: T Ausgabe auf Tape (bzw. USB) | ||
+ | LO: C Listing auf Bildschirm (Console) | ||
+ | PASS: 1 1. Pass muss sein | ||
+ | PASS: M Ausgabe des Maschinencodes | ||
+ | Datei V24A3.COM wird erzeugt | ||
+ | NAME :" | ||
+ | ADDRESS: | ||
+ | VERIFY ((Y)/N)? N | ||
+ | ASM--HC: | ||
+ | PASS: E Assembler beenden | ||
+ | |||
+ | OS | ||
+ | > | ||
+ | </ | ||
+ | |||
+ | |||