3000 6c87 0000 I ... TEDIT 9.0
*DIE EDITIERKOMMANDOS UND IHRE WIRKUNGEN*
 
-Eingabe in Gross- oder Kleinbuchstaben
-Optionen,getrennt durch ein Komma,unmittelbar nach dem
 Editierkommando eingeben 
-Vor jedem Argument muss mindestens ein Leerzeichen bzw. ein
-Syntaxzeichen (befehlsspezifisch) stehen
-Eingabefehler werden erkannt und durch Fehlermeldungen
 angezeigt.   
Innerhalb der weiteren  Beschreibung gelten folgende Verein- 
barungen:                             
o=Option                              
n1,n2=Zeilennummern(0-9999),fehlt n1,so gilt die aktuelle             
 Zeilennummer.Ist diese=0 so wird n1=1.fehlt n2,so wird n2=n1.        
 Ist n2<n1,so wird n2=n1.ist n2>als die hoechste Zeilennummer,        
 so erhaelt n2 diesen Maximalwert.                               
t=beliebiges ASCII-Trennzeichen        
s1,s2=beliebiger ASCII-String,Gesamtlaenge begrenzt                               
p1,p2=Positionsnummern(0-99) zur Angabe von Zeichenpositionen         
 innerhalb von Textzeilen.             
z=einzelnes ASCII-Zeichen              
hh=zweistellige Hexzahl(00-ff)         
d=maximal zweistellige Dezimalzahl(0-99)                               
KOMMANDOS:                             
__________                             
ENTRY                                
-dient zur Ueberpruefung der Fileparameter.nach Aufruf
 meldet sich der Editor mit "Change Options(o)                                 
 man kann nun folgende Option setzen:  
t-prueft ob zwischen sof und eof Adresse im Speicher ein              
 Textfile liegt.Wenn ja wird im Controlmode mit C0..fortge-           
 fahren,sonst wird eine neue Option verlangt.                               
n-ab der sof-Adresse wird ein neuer (leerer) Textfile erzeugt.        
 Tabulator ist":",Tab.stop ist Pos.6   
f-liegt zwischen sof und eof kein File, wird ein neuer erzeugt.                               
 Sonst bleibt das alte File erhalten.
x-Ruecksprung ins Betriebssystem        
EXIT                                 
-Rueckkehr ins Betriebssystem,optionen: 
x-einfacher Ruecksprung                 
p-wie x,mit Ausdruck des File und der File-Informationen                               
l-wie p,mit Zeilennummern               
HELP                                 
-Druckt Liste aller Editierkommandos.    
TAB z                                
-Definiert z als Tabulatorzeichen.       
SET p1 p2 p3 p4...pn                    
 Definiert Tabulatorstops p1 bis pn.Wenn der Editor auf den           
Tabulator trifft rueckt er den Kursor durch Ausgabe von               
Leerzeichen(20hex)bis zur naechsten Tabulatorposition, die            
durch den SET-Befehl gesetzt wurde weiter.Beispiel:                               
c256  TAB :                             
c256  SET 10 20 30                      
c256                                    
I257  eins:zwei:drei:vier               
I258                                    
c257  PRT                          
eins     zwei     drei     vier    
c257  SET 10 20 25                 
c257  PRT                          
eins     zwei     drei  vier       
c257  TAB +                        
c257  PRT                          
eins:zwei:drei:vier                
c257                                
INFO                                 
-Druckt alle Informationen ueber den Textfile.Beispiel:                               
 c45  INFO                           
 sof:2300  (Anf.Adresse Textfile)    
 eof:hhhh  (Endadresse Textfile)     
 eor:4000  (Ram Ende)                 
 soi:31f5  (Eingabeadresse)           
 maxline:0026  (letzte Zeile)         
 TAB * 6 17 44 77                     
n1                                   
-Sprung zur Zeilennummer n1. Beisp.:  
 c187  38                             
 c38                                 
TOP(KUERZEL:0)                        
-Sprung zum c-Modus-Zeile 0 (Fileanfang-1).                               
LAST(KUERZEL:A)                       
-Sprung zur letzten c-Moduszeile      
HEAD(KUERZEL:H)                       
-wie TOP, zur 1. i-Modus zeile        
BOTM(KUERZEL:B)                       
-wie LAST, zur hoechsten i-Zeile (max.Zeilennr.+1)                               
PRT n1 n2(KUERZEL:P)                  
-Druckt Textzeilen n1-n2.Tab-Zeichen werden nicht mit                               
 ausgegeben, sondern enspr. SET-Befehl als Leerz.strings                               
 interpretiert.                        
LNP n1 n2(KUERZEL:L)                  
-Wie PRT, aber mit Zeilennummern.      
GO n1 n2                              
-Wie LNP, Zeiger auf c-Modus Zeile n1.Beisp.:                               
 c144  GO 257                         
 257. eins zwei drei vier              
 c257                                 
COPY n1 n2                             
-Zeilenblock n1-n2 wird hinter aktuelle Zeilennummer                               
 eingefuegt, alle folgenden Nummern sind verschoben.                               
DEL n1 n2(KUERZEL:D)                   
-Loescht Zeilen n1-n2, nachfolgende Zeilen ruecken nach.                               
MOVE n1 n2                             
-Wie COPY, Zeilen n1-n2 am alten Ort werden geloescht.                               
FIND,o n1 n2 :ts1t (KUERZEL:F)          
-Sucht in den Zeilen n1-n2 nach dem String s1.                               
 Zeilen, in denen s1 vorkommt, werden mit Zeilennummer                               
 ausgedruckt.Ausserdem wird angegeben wie oft s1 enthalten ist.                               
 c130  FIND  10 20 :/ware/              
 0016(01)microcomputer hard- und software                               
 0018(03)hardware,software,firmware    
 c130                                
CHANGE,o n1 n2 :ts1ts2t(z=hh)(KUERZEL:C)
-Ersetzt innerhalb der Zeilen n1-n2 den String s1 durch s2.               
 Es muss eine der folgenden Optionen o gesetzt werden:                               
 p-Erstelle eine Liste, in der veraenderte Zeilen sowie die                                
 Anzahl der Veraenderungen aufgefuert sind.                               
 n-Erstelle keine Liste.                
 der Zusatz(z=hh) bewirkt, dass dort,wo in s1 und s2 das                               
 Zeichen z vorkommt, dieses durch das ASCII-Zeichen hh                               
 ersetzt wird. (Fuer Zeichen,die mit der Tastatur nicht                               
 ausgebbar sind z.B. Steuerzeichen.) Beispiele:                                                           
 c45  CHANGE,p 20 28 :/hard/soft/       
 Ersetzt in Zeilen 20-28 den String hard durch soft.                               
 c98  CHANGE,n :/ende/x/(x=0d)          
 Ersetzt in der Z.98 das Wort "ende"durch ein CR-Zeichen.                               
 c15  c,n :/beispiel//                  
 Loescht in Zeile 15 das Wort "beispiel".                              
ASC n1 n2 :h1th2
-Ersetzt in den Zeilen n1-n2 den ASCII-Code h1 durch den Code h2.
 (h1 und h2 hexidezimal),Beispiel:
 c100  ASC 32 33 :0d/20
 (Fuegt die Zeilen 32,33 zu einer zusammen.)
DFN n1 n2 :z1tz2
-Wie ASC,  z1,z2 sind ASCII-Zeichen.Beispiel:
 c43  DFN 1 99 :+/&>
 Definiert Zeichen"&>" als das Zeichen fuer"+".
CASE,o n1 n2
-Gross-/Kleinschreibung,Optionen:
 u-Inhalt von n1-n2 wird in Grossbuchstaben umgewandelt.
 l-Wie u,jedoch in Kleinschrift.
EDIT,t n1(KUERZEL:E)                   
-Dies ist ein ausserordentlich leistungsfaehiger Befehl zum           
 Editieren des Inhaltes einer bestimmten Textzeile.                   
 Der Editor druckt die Zeile n1 ohne Beruecksichtigung der            
 Tabulatoren auf dem Bildschirm aus.Unter der Zeile kann              
 man einen Korrektursatz eingeben,der nach (Enter) mit derem          
 Inhalt verrechnet wird. Beispiel:      
 c67  EDIT 95                        
   EDIT:in der text ist ein fehlerhaft.
 I0095     Iies*  Izeile*        D    * 
 c95  e                               
   EDIT:in dieser textzeile ist ein fehler.                               
 I0095 CIn!                    Ik!         I mehr!                               
 c95  p                               
 In dieser zeile ist kein fehler mehr.  
 c95                                 
                                     
 Fehlt die Option t, so wird als Trennzeichen "!" angenommen.         
 Alle zwischen dem "I" und dem Trennzeichen t stehenden               
 Zeichen werden an der Stelle in die Zeile eingefuegt, unter          
 der das erste einzufuegende Zeichen steht.                               
 Zeichenpositionen zwischen "D" und t werden aus der Zeile            
 entfernt.                               
 Ebenso werden alle Zeichen zwischen"C" und t ersetzt.                               
 Es koennen auch mehrere Korrekturen in einer Zeile sein.                               
                                     
 RTP n1(KUERZEL:R)                      
-Dient zum Editieren mit dem Betriebssystem.                               
 dabei wird n1 auf dem Bildschirm ausgedruckt und im Speicher         
 geloescht und an die Input Routine des Systems uebergeben.           
 Beispiel:                              
 c12  R 53                               
 I0053  diese zeile soll verbessert werden                            
 Der Cursor steht unterhalb der Textzeile, es wird Eingabe im 
 I-Modus simuliert.Mit den Editiermoeglichkeiten des Betriebs-            
 systems kann man die Zeile verbessern und mit Enter (Cursor          
 am Zeilenende) in das File zurueckschreiben.                               
                                     
NPR n1(KUERZEL:N)                  
-Druckt Zeile n1 und darunter die Positionsnummern der Zeichen.                               
 Beispiel:                         
 c198  NPR 66                       
 1000   rem  basicprogramm         
  123...9 123456789 1234567        
 Die Punkte deuten an, dass an dieser Stelle keine Blanks             
 im Speicher stehen, sondern die Leerzeichen mit dem Tabulator        
 erzeugt wurden.                  
I$ n1 n2 :ts1tp1t(z=hh)
-Fuegt in n1-n2 den String s1 ab Pos.p1 ein.Zusatz (z=hh)
 wie bei CHANGE.Beispiel:
 c75  I$ 60 100:/   /15/
D$ n1 n2:tdtp1t
-Loescht in n1-n2 jeweils d Zeichen ab Pos.p1.Beispiel:
 c44  d$/5/16/
FILL  
-Ersetzt die Tabulatoren im  Text durch die Anzahl von
 Leerzeichen die sie jeweils repraesentieren.Die Form des Files
 bleibt erhalten, der Speicherbedarf waechst.Notwendig wenn das File
 z.B.von einem Assembler weiterverarbeitet werden soll.
PACK  
-Umkehrung zu FILL.Leerzeichenstrings werden an den Stellen
 die durch den SET Befehl definiert wurden, durch ein Tabulator-          
 zeichen ersetzt.                       
USER hhhh                               
-Maschinenprogrammaufruf                
 hhhh=Startadresse,Programm muss mit RET Befehl enden.                               
FORMAT n1 n2:tp1tp2t                    
-Erzeugt Textzeilen mit linkem und rechtem Rand.                               
 Dazu wird ausgehend vom Inhalt der Zeilen n1-n2 ein neuer            
 Zeilenblock beginnend mit nr.n1 erzeugt.                               
 Der Text beginnt ab Pos.p1 und endet mit Pos.p2 in jeder             
 Zeile des Textblocks.                   
 Jeder Block kann beliebig oft mit beliebigen Zeilenraendern          
 formatiert werden.Beispiel:            
 c3  LNP 5 9                            
 5.beim FORMAT-kommando                 
 6.wird ein wort,                  
 7.das nicht                       
 8.mehr in eine zeile passt,in die naechste                               
 9.geschrieben.                    
                                     
 c3  FORMAT 5 9:/10/39/            
 last line:0008                    
 c3  LNP 5 8                       
 5.beim FORMAT-kommando wird ein   
 6.wort, das nicht mehr in eine    
 7.zeile passt, in die naechste    
 8.geschrieben.                               
 c3                                  
                                     
-Tabulatoren werden besonders behandelt.                               
 Wird beim Formatieren ein Tabulatorzeichen erkannt, so wird          
 an dieser Stelle ein Absatz gelassen (cr-Zeichen eingefuegt).                               
 Tabulatoren sollten direkt nach dem letzten Wort des
 entsprechenden Absatzes stehen (Auf Tab.Zeichen sollte ein           
 Leerzeichen oder Zeilenende (CR=0Dhex) folgen.).                               
                                     
SPACE n1 n2:tp1tp2t                
-Randausgleich                     
 Dazu werden solange Leerzeichen ab Pos.p1 zwischen die               
 Woerter eingefuegt, bis deren letztes Zeichen an Pos.p2 steht.       
 beispiel:                          
 c3  SPACE 5 8:/10/38/              
 c3  LNP 5 8                        
 5.beim FORMAT-kommando wird ein    
 6.wort, das  nicht mehr in eine    
 7.zeile passt,  in die naechste    
 8.geschrieben.                     
 c3                                 
-Zuruekschreiben mit FORMAT Befehl
 C3  FORMAT 5 8:/0/0/
 last line:0020
 C3  FORMAT 5 20:/10/39/
 last line:0008
 C3   
      
 Beim 1. Formatieren wird fuer jedes Wort eine neue Zeile eroeffnet;
 Leerz. entfallen,da bei p1=0 der FORMAT-Befehl alle Leerzeichen am
 Zeilenende loescht.
 Beim 2.Formatieren wird ein neuer Textabschnitt gebildet.
SAVE  
-Textfile wird auf Band abgespeichert.
  Zum Abspeichern ist der Typ des Files und der Filenamen anzu-
  geben.Es wird das Header Save Load Verfahren verwendet.                                
LOAD  
-Lesen vom Band
  Es ist der Filetyp und der Filenamen anzugeben. Bedienung
entsprechend des Header Save Load.
 Nach Enter wird gelesen.                               
HINWEISE ZUM TEXTEDITOR:                               
Workspace-Speicherbereich,zur Anpassung an den Rechner                               
Beginn ab 300h bei vorliegender Version, einige Adressen:                               
300,1     :SOF(Start of File)          
302,3     :EOF(End of File)            
304,5     :EOR(End of RAM)             
306,7     :SOI(Start of Input)         
308,9     :LP(Linepointer)             
30a,b,c   :Sprung zur Input Routine C3 xx xx                               
30d,e,f   :Sprung zur Output Routine C3 xx xx                               
310,1,2 Sprung ins System                  
313,4,5 Sprung-Headerroutine           
316,7 Anf.Adresse 2. Kommandoblock      
...                                  
ERWEITERUNGEN:                         
 Im Workspace(w+16,17=916,917) Anfangsadresse fuer 2.Kommando-                               
 block eintragen.                       
 3E-Kommandowort-0D-Befehlsfolge...JP BACK(C3 D1 15)                               
 Beispiel DEL Befehl:                   
 3E 44 45 4C 0D X1 X2....C3 D1 15       
LITERATUR:                              
-Z80-Texteditor mc Heft 2/1981,S25-34   
-Nachtrag zum Z80-Texted. mc H.2/1982,S52                               
-Erweiterung des Texted.(Sort-Programm) mc H.6/1982 S57                               
                               
Die vorliegende Version gestatett die Anpassung an verschiedene
Druckerschnittstellen. Realisiert sind eine Druckerschnittstelle
für S 6005 und S 3004 (V.24 1 Start- 8 Daten- 1 Stoppbit).
Für die Anpassung an andere Druckerschnittstellen besteht die
Möglichkeit folgende Routinen zu ändern:
0200      Init des PIO Ausgabekanals
0220      Ausgabe eines Bytes in A an den Drucker.
 
Für Rückfragen und Fehlerhinweise bitte an 
A. Köhler
Tiroler Str.9
Dessau 
4500         wenden.