0800 2dcb 0000 T ... OC-EDITO.I
Monitoraufrufe:
keine:
Verwendete IO-Ports bzw. Hardware:
keine []
****************************************************************
*              OBJEKTCODEEDITOR OCE FUER Z1013                 *
****************************************************************

Dieser Objektcodeeditor ist ausdem MC-80 von GERA entstanden,
die Maengel desselben (z.B. 6-Zeilen-Edit) sind beseitigt, er
wurde dem Z-1013 angepasst. Da der MC-80 bei Start seine RAM-
Zellen mit 'FF' initialisiert, ist es hier angebracht, vor Ein-
laden und Start des OCE, den RAM des Z-1013 mit 
            'K aadr eadr FF' 
ebenfalls auf FF zu setzen.  
.............................................................

Der Objektcodeeditor enthaelt einen Assembler zur Uebersetzung
von Befehlen im Mnemonikcode in den Maschinencode und den Reas-
sembler zur Rueckuebersetzung.
Ausser dem Maschinencode wird noch eine Markentabelle abge-
speichert.
 
Programmstandort:
     4000H ...5DFFH              >CRC=C6E0
     4000H  =  Startadresse

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 (s.oben)
     - 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
       initialisieren ! (s.oben)

Nach dem Start des OCE auf der Adresse 4000H kann die Adresse
der Markentabelle eingegeben werden. Der Speicherbereich fuer
Markentabellen ist im Grundzustand auf 7800H eingestellt.
           (MTB#7800 = im Kopf des Anfangmenue)
Bei Neueinstellung muessen davor 20 Speicherplaetze 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 = Buchstaben z.B.: AAA:)
     - Kommandos im Anzeigemodus :

ANMERKUNGEN:
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.

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

 K   direkte Maschinencodeeingabe

 T   Uebergang zum Testmodus ab Anzeigeadr. 

 H   Vereinbarung der Anzeigeadr. als Haltepunkt

 R   Uebergang zum RAM-Modus (DUMP-MODUS)

 Q   Uebergang zum Quellcodeeingabemodus

DOWN naechster Befehl          (0AH)

UP   vorstehender Befehl       (0BH)

 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 >ENTER< Anzeige ab Programmende
     G 0 >ENTER< Anzeige ab der mit EXT vereinbarten Marke
     (EXT s.w.unten)
     G adr >ENTER< Anzeige ab adr

 B   Bindekommando (ersetzt symb. Adr. durch hexadez.)
     erzeugt lauffaehiges Programm
     B >ENTER< Binden auf Anzeigeadr.
     B adr >ENTER< auf angegebener Adresse

 M   Verschieben von Programmen mit Marken
     M adr >ENTER< >ENTER< Verschieben von adr bis Programmende auf
     auf Bereich ab Anzeigeadr.
     M adr1 >ENTER< adr2 >ENTER< von adr1 bis ausschliesslich
     adr2 auf Bereich ab Anzeigeadr.

 V   Verschieben nur der Marken (Markenumrechnung)
     V adr >ENTER< von adr bis Progr.ende auf Anzeigebereich
     V adr1 >ENTER< adr2 >ENTER< von adr1 bis ausschl. adr2 auf
     Anzeigeadr.

 E   Eingabebereich schaffen
     E >ENTER< 1 Byte 
     E adr >ENTER< ab akt. Adr. bis ausschl. adr 
     das folgende Programm wird  entsprechend verschoben

 S   Streichen von Befehlen
     S >ENTER< 1 Befehl streichen
     S adr >ENTER< von Anzeigeadr. bis adr streichen

 L   Anzeige ab Programmzaehler vor dem letzten Schritt im
     Testmode 

 O   Quellprogrammausgabe (Offset)
     O adr >ENTER< Programm ab adr als Quelle in RAM geschrieben

 I   Quellprogrammeingabe (Insert)
     I adr >ENTER< Quellprogramm ab adr wird in Anzeigebereich
     uebernommen (gl. Format wie oben)

 P   Reassemblerliste drucken
     akt. Zeile mit '*' gekennzeichnet
     Unterbrechung 'S, Fortsetzung 'Q
     bei Ende wird Seitenvorschub erwartet - F
     P adr >ENTER< : adr= Endadr. abs. oder symbolisch
     P >ENTER< 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 >ENTER<, nochmaliges >ENTER< naechster
       Befehl, jede andere Taste - Anzeigemodus
     - Pseudooperationen:
       DB n                (Ein-Byte DATA/z.B. DB 6F)     
       DW nn               (Zwei-Byte DATA/z.B. DB adr.) 		
       DM "text"           (Strings in Hochkomma)  
       MAR:EXT adr         (externe Marken vereinbaren, ent-
                           spricht EQU-Zuweisung)
     - # Speicherplatzzaehler
...............................................................

+ Binden
     - mit 'B' auf waehlbare adr oder nach 'T' auf die Anzeige-
       adresse. 
     - nur das erstellte Programm als gesamtes wird gebunden
       (1 Schritt) 
     - mit EXT vereinbarte Marken werden nicht verschoben
     - nach Fehlermeldung mit >ENTER< werden weitere Fehler an-
       gezeigt
       (Bindeoperation unterbrochen!)
     - MTB werden beim Binden nicht veraendert!
............................................................... 

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

      - Kommandos:
Taste     Funktion
-----------------------------------------------------------------
 H            Speicher in HEX anz.
 S               "      " ASCII "
 +            +1
 -            -1
DOWN          +8            (0AH)
UP            -8            (0BH)
 N             naechste Seite
 Z             1 Seite zurueck
 G             direkte Positionierung
>ENTER<        uebernehmen Eingabefeld in akt. Pos. (HEX)
 T             ASCII-Code des naechsten ueber Tast. eingeg. Zei-
               chens in Eingabefeld uebernehmen
 I             Fuellen eines Bereiches
               I adr >ENTER< ab akt. Adr. bis ausschl. adr
 M             Kopieren eines Bereichs
               M adr1 >ENTER< adr2 >ENTER< -von adr1 bis aus-
               schl. adr2 in akt. Ber.
 V             Vergleichen
               V adr1 >ENTER< adr2 >ENTER< -Anzahl der Diffe-
               renzen angezeigt Kursor auf ersten Unterschied
               Fortsetzung: >ENTER< Wert aus Eingabefeld 
                            (Vergl.bereich) 
                            wird auf akt. Adr. uebernommen
                            V  Fortsetzung des Vergleich
                            BREAK (^C = 03H) = Abbruch
 L    Suchen einer Datenfolge 
      L adr1 >ENTER< adr2 >ENTER< eine Datenfolge ab adr1 bis 
      ausschl. adr2, wird im Speicher gesucht. Wenn gefunden,
      auf akt. adr:
      >ENTER<  Suche fortsetzen
      BREAK (^C = 03H) =  Abbruch, Bereich vor Suche angezeigt
 P    Ausdruck Speicherbelegung 
      P adr >ENTER<  - anlog P im Anzeigemodus.
...............................................................

+ Testmodus
 T    Abarbeitung aktuellen Befehl und protokollieren desselben
      normal naechster, vom Programm auszufuehrender, Befehl,
      wenn zuvor im A-Modus Haltepktunkt festgelegt wurde,
      dann dieser.
 N    Abarbeitung des aktuellen Befehl und Protokoll des naechs-
      ten im Speicher stehenden Befehl
 L    direktes Abarbeiten (Echtzeit)
      0FFH wirkt als Softwarehaltepunkt, naechster Befehl wird
      protokolliert.
 R    Aendern des Registerinhalt,  wird mit >ENTER< bestaetigt,
      bzw. mit BREAK (^C = 0eH) nicht uebernommen.

      - Achtung: bei 'T' und 'N' I-Reg. nicht veraendert, 
        IM2  =  Interupt-Mode 2

+ Tastencodes: >ENTER<                  = 0DH
               BREAK = ^C               = 03H
               DOWN  = Cursor n. unten  = 0AH
               UP    =   "    "  oben   = 0BH
               LEFT  = <--              = 08H
               RIGHT = -->              = 09H

         INSert (Einfügen)              = 05H
         DELete (Löschen)               = 13H
         TABulator                      = 17H

+ Drucker: eigene Routine enthalten,andere ueber Sprungvertei-
           ler (SV)
           auf 5D43H/5D44H; Uebergabe in A (DRAKK  JMP FFE8H)

****** bearbeiter: u.gast/n.hildebrandt ig-hc tu dresden ******
***************** textueberarbeitung: hofmann *****************
23.08.89