îBeschreibung EDAS V1.5â EDAS V1.5 ist ein Editor/Assembler auf der Basis vom EDAS des M027 DEVELOPMENT. Sie k|nnen damit die RAM-Grenzen und die Lage des MC-Bereichs frei w{hlen sowie vielf{ltige weitere Textmanipulationen vornehmen. DEVEX wurde fest integriert und der Assembler erweitert. EDAS V1.5 arbeitet mit RAM von 200H bis maximal C000H, dazu wird der IRM bei Zugriff weggeschalten. Der jeweilige Schaltzu- stand wird mit der System-LED mit angezeigt. Die mit der Option "O" erzeugten MC-Programme werden aber in den IRM geschrieben, so da~ man auch Programme auf den Speicherbereich ab BA00H erzeugen kann. Beim Start von EDAS mit dem gleichlautendem Men}wort erscheint: TB 0200 Festlegen der unteren RAM-Grenze TO C000 Festlegen der oberen RAM-Grenze+1. Der Vorgabewert ist das Maximum, das mit dem momentanen Schaltzustand der Module bzw. internen Spei- cher erreicht werden kann. MC 0000 Modifizierung des Maschinencodebereichs (hat bei Verwendung des ORG-Befehls keine Bedeutung) AO 0000 Modifizierung des Assemblieroffsets f}r Option "O". Die physische Speicheradresse ergibt sich aus logischer Adresse plus Assemblier- offset Der Quelltext liegt grunds{tzlich geteilt vor. Trennstelle ist der Bildschirm- anfang. Nach TOP liegt der Text ganz hinten, nach BOTOM ganz vorn. Die Marken- tabelle liegt im Anschlu~ an den zweiten Textteil. Der in der Statuszeile ange- gebene freie Speicher ist der Zwischenraum zwischen den beiden Teiltexten. W{hrend des Assemblerlaufes liegt der Text ungeteilt am Speicheranfang, so da~ die Markentabelle von der vereinbarten Speicherobergrenze nach unten wachsen kann. Dabe wird }berwacht, da~ sie nicht in den Text hineinw{chst. In diesem Fall w}rde eine Fehlermeldung ausgegeben und der Assemblerlauf abgebrochen. Beim Start von EDAS bzw. Verlassen des Editors erscheint das gewohnte Men}, nur etwas verl{ngert. In der Statuszeile wird zus{tzlich angezeigt, ob das Ausgabe- medium Kassette oder Diskette ist. *MENU Ausschreiben des vollst{ndigen EDAS-Men}s. *QUIT wie bisher 'EXIT', rei~t das Fenster nunmehr v|llig auf *CLEAR L|schen des Text- und/oder Markenspeichers. Durch zwei unabh{ngige Fragen kann auch nur der Text- bzw Markenspeicher gel|scht werden. *SAVE gibt nunmehr die Blocknummern so aus wie vom KC85/4 gewohnt, also ohne den Bildschirmf}lleffekt. Bei Save auf Diskette wird erst eine gleichnamige Datei gesucht, und wenn vorhanden zur Abfrage "(O)verwrite, (B)ackup, (S)kip ?" }bergegangen. Diese ist mit dem gekennzeichneten Buchstaben zu beantworten. (O f}r }berschreiben, B f}r Anlegen einer *.BAK-Datei und S f}r Abbruch) Die Erzeugung der Backupdatei wird in folgenden Teilschritten ausgef}hrt: - L|schen einer eventuell vorhandenen Datei name.BAK - Umbenennen der Datei name.ASM in NAME.BAK - Abspeichern der neuen Datei name.ASM *LOAD Blocknummern wie bei Save. Der Dateiname kann beim Laden von Kassette Jokerzeichen enthalten. (? f}r ein beliebiges Zeichen und * f}r den Rest des Namens) Wird z.B. nur "* ASM" eingegeben wird der n{chste EDAS-Quelltext eingelesen. Beim Laden von Diskette f}hrt ein Joker- zeichen zu 09-Error. Der beim KC85/4 bisweilen auftauchende Fehler des scheinbar unvermittelten Abbruchs des Ladevorgangs wurde besei- tigt. Fehlerhafte Bl|cke bei Kassettenaufzeichnungen werden nach 3 Fehlversuchen beim 4. Mal fehlerhaft }bernommen, Quittierung erfolgt dann mit einem "!" nach der Blocknummer. Durch den vergr|~erten Textspeicher sind Blocknummern }ber FFH erforderlich. Das Dateiende wird deshalb nur noch bei Erkennen des Codes 03H ausgewertet. VERIFY Aufruf der CAOS-Routine (bei Quelltexten mit mehr als 0FFH Bl|cken wird der Vergleich systembedingt bei FF> abgebrochen) *KEY (n) - Ohne Parameter KEYLIST (Aufruf Men}kommandoroutine) - Parameter n = 0 : Grundbelegung des F-Tastenspeichers herstellen - Parameter 1 <= n <= C : wie %KEY (Aufruf Men}kommandoroutine) - Parameter n = D5 : Grundbelegung f}r D005-Tastatur herstellen, (jetzt ist F5 Tabulator und F6 Find-Funktion) *PRINT n k wie immer *ASM wie immer. Neben der Fehlerzahl wird auch die Endadresse+1 und even- tuell eine vorhandene Startadresse ausgegeben. Der Assemblerlauf kann an jeder Stelle mit BRK abgebrochen werden. Bei der Option 'S' wird der Dateityp .KCC erzeugt! Save wird nicht erreicht, wenn bei der ]bersetzung ein Fehler auftrat *FIND (s) Suche von Zeichenkette (hinter "Text:" anzugeben; dabei ist f}r die Tabulatorsuche die Taste F1 (F5) zu benutzen) - ohne Schalter s von vorn - mit Schalter s von aktueller Cursorposition Der Cursor steht nun in der 3. Zeile (damit man sieht, was davor ist) und steht direkt auf dem 1. Zeichen der gefundenen Kette *TOP wie immer *BOTOM wie immer *EDIT wie immer, der direkte Zugriff auf den Video-RAM wurde durch das Unterprogramm DABR ersetzt, so da~ EDAS mit beiden Bildern des KC85/4 arbeiten kann. Im EDIT-Modus wurden einige Tastenfunktionen erweitert bzw. ver{ndert: ENTER geht in der neuen Zeile sofort auf die erste Tabulator- position Sh-HOME geht auf die letzte Bildschirmzeile, L|schen gr|~erer Textteile besser mit PDEL ausf}hren. CUU in der oberen Textzeile kann mit CUU auch um eine Zeile zur}ckgegangen werden. Wegen der hierbei fehlenden Scroll-Funktion mu~ jedoch das gesamte Bild neu aufge- baut werden, was entsprechend dauert. *LABEL Ausgabe des Wertes einer Marke (hinter "Name:" anzugeben) *LBLIST (n)Ausgabe der Werte aller Marken in n (sonst 3) Druckspalten *PSAVE Retten eines Textblockes auf Band, der durch 2* "@" eingegrenzt wurde. Bei nur einem "@" Retten ab dieser Stelle *PDEL L|schen eines Textblockes, der durch 2* "@" eingegrenzt wurde. Bei nur einem "@" keine Wirkung (Schutzfunktion) *PCOPY Kopieren eines Textblockes, der durch 2* "@" eingegrenzt wurde, nach dem aktuellen Seitenanfang. In Verbindung mit anschlie~endem *PDEL f}r Textverschiebungen verwendbar *REPL (s) Ersetzen von Zeichenketten ohne Schutzabfragen. Abfrage von zu su- chenden (ersetzenden) Zeichenkette und der Ersatzkette. Ausgabe der Anzahl der Ersetzungen (dezimal). Besonders n}tzlich bei massiven Markenumbenennungen, z.B. nach Durchlauf von MC durch den Marken- reassembler QMR - Ohne Schalter s von vorn ab - Mit Schalter s ab aktueller Seitenanfangsposition Bei angeschlossenem Floppy erscheit im Grundmen} das Men}wort "DIR", die wei- teren Men}worte werden nur im vollst{ndigen Men} angezeigt: *DIR Anzeige des Directorys der eingelegten Diskette, und der freien Speicherkapazit{t. Ein "*" nach dem Dateinamen zeigt an, da~ die Datei schreibgesch}tz ist. *ERA L|schen einer Datei, deren vollst{ndiger Name einzugeben ist. Vor Ausf}hrung erfolgt noch die Schutzabfrage "Erase ?", die mit "Y" zu beantworten ist, wenn die Datei wirklich gel|scht werden soll *REN Datei umbenennen, es ist der alte und neue Dateiname vollst{ndig anzugeben *DISK Umschaltung auf Diskette *TAPE Umschaltung auf Kassette Die Umschaltung auf Diskettenbetrieb arbeitet ohne eine Ver{nderung der SUTAB, dadurch ist es m|glich, bei eingeschalteter Diskettenfunktion im CAOS mit Kassette zu arbeiten. Die Erkennung des Floppysystems erfolgt automatisch, wenn es nicht vorhanden ist, erscheint das Men} entsprechend verk}rzt und die Routinen sind nicht aufrufbar. Bei Start von EDAS wird wenn m|glich automatisch die Diskettenbetriebsart eingestellt. Bei Verwendung einer Marke mit dem Namen "START", wird diese als Startadresse f}r selbststartenden Programme ausgewertet. Diese Adresse wird als dritter Parameter bei der Assembler-Option 'S' mit ausgegeben. Fehlererkennung: neueingef}hrt wurde eine Fehlerkennung "D", die in den Quelltextzeilen ausgege- ben wird, in denen eine mehrfach definierte Marke definiert wurde Neue Befehle: SLS r erzeugt wird der bislang fehlende Rotationsbefehl, der eine Rotation nach links mit Einschieben einer "1" in das niederwertigste Bit bewirkt Neue und erweiterte Pseudobefehle: DB wie DEFB DS wie DEFS DW wie DEFW DEFB x,.. als Operanden k|nnen Bytes und Zeichenketten gemischt und mit Komma voneinander getrennt angegeben werden. Durch die Verarbeitung von Zeichenketten in DB/DEFB kann dieser Befehl auch anstelle von DEFM Anwendung finden. DEFS x,y "x" gibt an, wieviele gleiche Bytes erzeugt werden sollen. Wird "y" weggelassen, so werden Nullbytes, ansonsten Bytes mit dem Wert "y" erzeugt. END Bewirkt die Beendigung der ]bersetzung ab dieser Stelle. Nachfolgen- der Text wird nicht mehr beachtet. Der "END"-Befehl wurde aus Komba- tibilit{tsgr}nden zu anderen Assemblern eingef}hrt. Er ist z.B. beim Testen von Programmen einsetzbar, wenn noch nicht bis zum Ende }ber- setzt werden soll. (c) ML-soft 26.10.92 Testen von Programmen einsetzbar, wenn noch nicht bis zum Ende }ber- setzt werden soll.