0800 2603 0000 I ... OC-EDITOR 4.1   
*****************************************************************
                   OBJEKTCODEEDITOR OCE FUER Z1013
*****************************************************************


Der Objektcodeeditor enthaelt einen Assembler zur Uebersetzung von
Befehlen im Mnemonikcode in den Maschinencode und den Reassemb-
ler zur Rueckuebersetzung.
Ausser dem Maschinencode wird noch eine Markentabelle abgespeichert.

Programmstandort:
     4000H ...5DFFH
OCE-Stack:
     200H abwaerts
Hinweise zur Benutzung:
     - adr = Hexzahl oder vereinbarte Marke
     - ein Programmende ist eine Adresse, ab der mind. viermal
       der Speicherinhalt 'FF' steht
     - Verschieben von Progr.teilen nur in mit '00' oder 'FF'
       belegten Speicher moeglich (bei M+E beachten)
     - es ist deshalb guenstig, den Speicher mit 'FF' zu initiali-
      sieren !

Nach dem Start des OCE auf der Adresse 4000H kann die Adresse der
Markentabelle eingegeben werden. Es muessen davor 20 Speicher-
plaetze freier Speicher sein fuer Merkzellen des OCE.
Danach befindet sich der OCE im Anzeigemodus. 

+ Markentabelle
     - Ende der Tabelle : '00'
     - max. 127 Marken
     - jede Vereinbarung und jeder Zugriff braucht 5 Byte
     - ein Ueberlaufen wird nicht verhindert

+ Anzeigemodus
     - Programmanfaenge und markante Programmstellen mit Global-
       marken versehen ! (3.Zeichen = Buchstabe)
     - Kommandos im Anzeigemodus :

Taste     Funktion 
------------------------------------------------------------

 K   direkte Maschinencodeeingabe
 T   Uebergang zum Testmodus ab Anzeigeadr. 
 H   Vereinbarung der Anzeigeadr. als Haltepunkt
 R   Uebergang zum RAM-Modus
 Q   Uebergang zum Quellcodeeingabemodus
DOWN naechster Befehl
UP   vorstehender Befehl
 N   32 x DOWN
 Z   32 x UP ( 'UP' und 'Z' nur bei vorhandener Globalmarke
     bis 256 Byte vor akt. Adresse )
 +/- Anzeigeadr. incrementieren
 -/- Anzeigeadr. decrementieren
 A   Anzeige ab vorstehender Globalmarke
 G   G CR Anzeige ab Programmende
     G 0 CR Anzeige ab der mit EXT vereinbarten Marke
     G adr CR Anzeige ab adr
 B   Bindekommando (ersetzt symb. Adr. durch hexadez.)
     erzeugt lauffaehiges Programm
     B CR Binden auf Anzeigeadr.
     B adr CR
                              -2-

 M   Verschieben von Programmen mit Marken
     M adr CR CR Verschieben von adr bis Programmende auf Bereich
     ab Anzeigeadr.
     M adr1 CR adr2 CR von adr1 bis ausschliesslich adr2 auf Be-
     reich ab Anzeigeadr.
 V   Verschieben nur der Marken (Markenumrechnung)
     V adr CR von adr bis Progr.ende auf Anzeigebereich
     V adr1 CR adr2 CR von adr1 bis ausschl. adr2 auf Anzeigeadr.
 E   Eingabebereich schaffen
     E CR 1 Byte 
     E adr CR ab akt. Adr. bis ausschl. adr 
     das folgende Programm wird  entsprechend verschoben
 S   Streichen von Befehlen
     S CR 1 Befehl streichen
     S adr CR von Anzeigeadr. bis adr streichen
 L   Anzeige ab Programmzaehler vor dem letzten Schritt im Testmode
 O   Quellprogrammausgabe
     O adr CR Programm ab adr als Quelle in RAM geschrieben
 I   Quellprogrammeingabe
     I adr CR Quellprogramm ab adr wird in Anzeigebereich ueber-
     nommen (gl. Format wie oben)
 P   Reassemblerliste drucken
     akt. Zeile mit '*' gekennzeichnet
     Unterbrechung 'S, Fortsetzung 'Q
     bei Ende wird Seitenvorschub erwartet - F
     P adr CR : adr= Endadr. abs. oder symbolisch
     P CR bis Progr.ende

+ Quellcodeeingabemodus
     - Zahlen dez. oder hex. mit Ziffer beginnend
       (z.B. : 0BFFEH )
     - Marke 3 Zeichen, erstes = Buchstabe
     - alte Marken ueberschreibbar
     - keine Marke: Tabulator oder 1 Leerzeichen
     - nach Marke kann Offset bis +127/-128 stehen
     - Op.code,Operanden nur durch Leerzeichen getrennt
     - Ueberschreiben von Quellcode vermeiden! Vorsicht!
     - kein Kommentar!
     - Korrekturen: mit S Befehl streichen
                    mit E Freiraum schaffen
                    Eingebe neuer Befehl
     - Fehlermeldungen:
       F Operations- oder Operandenfehler
       M Marke schon vorhanden
       O Offset zu gross
     - Uebernahme mit CR, nochmaliges CR naechster Befehl, jede
       andere Taste - Anzeigemodus
     - Pseudooperationen:
       DB n         DW nn
       DM "text"    MAR:EXT adr -ext. Marken deklarieren
     - # Speicherplatzzaehler
+ Binden
     - mit 'B' auf waehlbare adr oder nach 'T' auf die Anzeigeadr.
     - nur das erstellte Programm als gesamtes (1 Schritt)
     - mit EXT vereinbarte Marken werden nicht verschoben
     - nach Fehlermeldung mit CR weitere Fehler angezeigt
       ( Bindeoperation unterbrochen!)
     - MTB beim Binden nicht veraendert!
                              -3-

+ RAM-Modus
      - Funktionen des RAM-Modus:
          * Anzeige eines bel. Speicherbereichs in HEX oder ASCII
          * Speichereingabe
          * Kopieren eines Bereichs in anderen
          * Vergleich
          * Suchen nach Bytes
          * Speicherbereich ausdrucken

      - Kommandos:
Taste     Funktion
-----------------------------------------------------------------
 H    Speicher in HEX anz.
 S       "      " ASCII "
 -    +1
 -    -1
DOWN  +8
UP    -8
 N    naechste Seite
 Z    1 Seite zurueck
 G    direkte Positionierung
CR    uebernehmen Eingabefeld in akt. Pos. (HEX)
 T    ASCII-Code des naechsten ueber Tast. eingeg. Zeichens
      in Eingabefeld uebernehmen
 I    Fuellen eines Bereiches
      I adr CR ab akt. Adr. bis ausschl. adr
 M    Kopieren eines Bereichs
      M adr1 CR adr2 CR -von adr1 bis ausschl. adr2 in akt. Ber.
 V    Vergleichen
      V adr1 CR adr2 CR -Anzahl der Differenzen angezeigt
      Kursor auf ersten Unterschied
      Fortsetzung:  CR Wert aus Eingabefeld (Vergl.bereich) 
                       wird auf akt. Adr. uebernommen
                    V  Fortsetzung Vergleich
                    BREAK Abbruch
 L    Suchen einer Datenfolge 
      L adr1 CR adr2 CR Datenfolge ab adr1 bis ausschl. adr2
      wird im Speicher gesucht
      wenn gefunden, auf akt. adr:
      CR  Suche fortsetzen
      BREAK Abbruch, Bereich vor Suche angezeigt
 P    Ausdruck Speicherbelegung 
      P adr CR -anlog P im Anzeigem.

+ Testmodus
 T    Abarbeitung akt. Befehl und protokollieren
      normal naechster (vom Progr. auszuf.) Befehl, wenn zuvor
      im A-Modus Haltepkt. festgelegt, dann dieser
 N    Abarbeitung akt. Befehl und Protokoll, naechster im
      Speicher stehender Befehl
 L    direktes Abarbeiten (Echtzeit)
      0FFH wirkt als Softwarehaltepunkt, naechster Bef. protok.
 R    Aendern Registerinh. mit CR bestaetigt
                          BREAK nicht uebernommen
      - Achtung: bei 'T' und 'N' I-Reg. nicht veraendert, IM2

+ Tastencodes: CR/0D,BREAK/03,DOWN/0A,UP/0B,LEFT/08,RIGHT/09
               (INS/05,DEL/13,TAB/17)
+ Drucker: eigene Routine enthalten,andere ueber Sprungverteiler
           auf 5D43H/5D44H; Uebergabe in A (JMP FFE8H)

******
ANMERKUNGEN: Der Objektcode-Editor ist aus dem Edito-Assembler 
vom MC 80 aus Gera entstanden. dieser Computer loescht bei der 
Grundinitialisierung sofort seinen gesammten Speicher und traegt
in jede Zelle ein 'FF' ein. 
Deshalb tun Sie dasselbe. Vor Laden und Starten des OCE zuerst
den gesammten Speicherbereich, den Sie nutzen wollen, mit FF be-
schreiben. 
(z.B.: K 0100 DFFFH FF)
Der Speicherbereich fuer Markentabellen ist im Grundzustand auf
7800H eingestellt. (MTB#7800)
Setzen Sie zuerst mit dem Kommando G eine Globalmarke. 
(G aadr. >ENTER<, dann meldet er sich auf der gewuenschten 
Adresse, jetzt Q, dann Marke setzen).
Ein Rueckwartsblaettern ist nur bei gesetzter Globalmarke moeg-
lich.
Wenn Sie Teile loeschen wollen, jedes Zeichen, auch hinter dem
Cursor, loeschen.
^^^^