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 [2025/11/20 11:58] (aktuell) – [Speicherbelegung] 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 | ||
| + | > | ||
| + | </ | ||
| + | |||
| + | |||