Source file: /~heha/hs/kcemu/kcswberg.zip/DISK/EDASLEU.TXW

		    î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.