3000 999e 0000 I ... SYD
Symbolischer Debugger (Version 1.7/1.8)
---------------------------------------

Programmstandort:   100H-2300H Start: 100H

1.  Allgemeines
---------------
Waehrend das UDOS-systeminterne Monitorprogramm DEBUG nur eini-
ge Grundfunktionen zum Programmtest realisiert (sh. UDOS-Hand-
buch), steht mit dem Testsystem SYD ein wesentlich komfor-
tableres Testsystem zur Verfuegung.
Es realisiert folgende Funktionen:
-  symbolische Fehlersuche
   - - - - - - - - - - - -
   d.h. Zugriff zu Programm- und Datenstrukturen ueber die vom
   Programmierer festgelegten symbolischen Adressen, anstelle
   hexadezimaler
-  Makrokommandofaehigkeit
   - - - - - - - - - - - -
   Moeglichkeit der automatisierbaren Abarbeitung umfangreicher
   Tests
-  Unterstuetzung der Basistypen BYTE (hexadezimal), WORD
   (hexadezimal), CHAR (ASCII-Zeichen) und Programmcode
   (U880-Assembler),
   dadurch koennen Programm- und Datenobjekte typengerecht
   dargestellt werden.
-  komfortable Kommandosprache einschliesslich Ausdrucksberech-
   nung numerischer Parameter (Operatoren +, -, indirekt, sym-
   bolisch)
-  Die Beschreibung der Kommandos kann staendig vom Bediener
   ueber die Help-Funktionen angefordert werden (Maximalvarian-
   te).

2.  Einsatzbedingungen
----------------------
1.  SYD liegt im Speicher auf hohen Adressen D000 ... E034 H.
    Zu testendes Programm beginnt meist bei 4000 H.
    SYD ist dafuer geeignet, wenn Programm keine Adressen
    > D000 H belegt.
2.  SYD4 liegt im Speicher auf niedrigen Adressen 4000-7041 H.
    Es ist fuer zu testende Programme geeignet, die ab
    ca. 8000 H bis zum Anwenderspeicherende gebunden sind.
3.  Mit Hilfe der Netztaste erreicht man den Abbruch bei End-
    losschleifen.

3.  Arbeitsweise mit Symbolinformationen
    ------------------------------------
Das Testhilfsprogramm SYD erwartet Symblinformationen in
Listenform. Die Elemente der Liste bestehen aus einem Symbol
(Name) in unbegrenzter Laenge und einem Wert (in gegenwaertiger
Implementierung 16 Bit).
Bei Variablen und Programmobjekten ist der Wert die betref-
fende Adresse.
Die Symbolinformation erhaelt man, indem man beim Linken
die Option 'SY' angibt. Dadurch werden in eine Datei, die
den Namen des jeweiligen Maschinenprogrammes (erweitert durch
.SYM) traegt, vom Linker alle globalen Symbole eingetragen.
Interne Symbole aus Assemblermodulen werden ebenfalls ein-
getragen, wenn beim Assemblieren der Datei die Option 'S'
angegeben wurde.
Waehrend der Arbeit mit SYD kann man von Hand weitere
Symbole (Symbol/Wert) definieren.
Da die Symboldatei formatmaessig dem Bearbeitungsformat
des Testsystems entspricht, kann diese wie jede an-
dere Datei geladen werden.


4.  Bedienung
-------------
4.1 Allgemeines zur Eingabe von Kommandos
-----------------------------------------
Das Testhilfsprogramm wird aus UDOS mit SYD bzw. SYD4 (ET1)
aufgerufen. Es meldet sich mit Namen, Versionsnummer, Kon-
figurationsangaben und dem Systemzeichen *.
Das Systemzeichen + gilt fuer Eingaben ausserhalb des
Kommandomodus.
Am Systemzeichen * koennen folgende Kommandos ein-
gegeben werden:

Store        Go          SAve        Fill
WStore       Interpret   GEt         Move
Display      Next        Help        Locate
Worddisplay  Break       Kommando    SYmbols
Register     CBreak      Xexecute    DSymbol
PIn          ONBreak_do  Yexecute    HSymbol
POut         CAXecute    Zexecute    Allocate
LIst         CAInterpret RSave       DEAllocate

- Ein Kommandoname kann gekuerzt eingegeben werden, indem
  man nur die jeweiligen Grossbuchstaben (sh. Kommando-
  liste) eingibt.
- Vor und zwischen den Parametern ist ein Leerzeichen er-
  forderlich.
- Parameter koennen Zeichenketten (Dateinamen) oder nu-
  merische Werte sein.
_ Numerischer Parameter kann ein arithmetischer Ausdruck,
  bestehend aus Elementarausdruecken mit Operatoren
  + und - sein.
  Die Berechnung erfolgt mit vorzeichenloser 16-Bit-
  Arithmetik, ohne Meldung eines Ueberlaufs.
               B000 - 38E+2A
- Vor jedem Elementarausdruck kann eine Anzahl Indirekt-
  operanden @ stehen, der dahinter stehende Wert wird als
  Zeiger auf den eigentlichen Wert interpretiert.
  Die Zahl der @ bestimmt den Grad der Indirektheit.
  Beispiel:   @8000 Es wird der Inhalt der Adresse 8000
                    (bei Benutzung als Wert der Adresse
                    8000/8001) als Wert des Elementaraus-
druckes verwendet.
              @@.SP Zugriff zum Stapelspeicherinhalt; es
                    bezeichnet die Stelle, an der die Pro-
                    grammausfuehrung nach Beendigung des
                    laufenden Unterprogramms fortgesetzt
                    wird.
- Alle Zahlenwerte werden hexadezimal interpretiert, d.h.
  sie besitzen folglich 1...4 Stellen. Werden Bytewerte
  gefordert, werden nur die 2 niederwertigen Stellen ver-
  wendet.
- Anstelle eines hexadezimalen Wertes kann ein symbolischer
  Wert, bestehend aus Symbolankuendigung '.' und Symbol
  verwendet werden.
  Das bedingt, dass das Symbol im Symbolbereich vorhanden
  sein muss, ansonsten erfolgt Fehlermeldung 'SY'.
  Beispiel:   .ALPHA
  Der Symbolbereich besteht aus dem residenten und variab-
  len Teil. Im residenten Teil stehen die Registerbezeich-
  nungen und einige wesentliche Systemparameter.
  Der varaiable Teil kann durch spezielle Kommandos oder
  durch Laden von Symboldateien gefuellt werden.
  Die Kommandos koennen durch Eingabe von nur ET1 wiederholt
  werden.
- Das System meldet sich mit '?' bei Eingaben von falschen
  Kommandos, fehlerhaften oder fehlenden bzw. ueberflues-
  sigen Parametern.

4.2  Kommandos zur Zustandsanzeige und -aenderung
-------------------------------------------------

DISPLAY  Anzeige /Aenderung von Speicherplaetzen (hexa)
-------

      *D adresse ET1; Anzeige Adresseninhalt
z.B.: *D 9000 ET1
      9000: 91+
      Nach dem Systemzeichen '+' sind folgende Eingaben
      moeglich:
        + wert              ET1; Bytewert (auch Ausdruecke,
                                 Symbole u.a.)
                                 Uebergang zur naechsten Adr.
        + 'zeichenkette     ET1; ASCII-Zeichenkette
                                 Uebergang zur naechsten Adr.
        + _assemblerbefehl  ET1; Assemblerbefehl in U880-Mne-
                                 monik; Konstanten hexa (be-
                                 ginnend mit Ziffer 0...9 und
                                 mit 'H' endend);
                                 v o r  Befehl und zwischen
                                 Operationscode und Operand
                                 muss genau ein Leerzeichen
                                 stehen;
                                 mehrere Operanden sind durch
                                 Komma zu trennen
        +              ^ ET1; Uebergang zur vorherigen Adr.
        +                ET1; Uebergang zur naechsten Adr.
        +              Q ET1; Rueckkehr in Kommandomodus

Beispiele: *D 9000               ET1
           9000: 91+             ET1; naechste Adresse
           9001: 91+00           ET1; Bytewert 00 eingeben
           9002: 2A+^            ET1; vorherige Adresse
           9001: 00+'BEISPIEL1   ET1; Zeichenketteneingabe
           900A: 01+Q            ET1
           *

DISPLAY   Anzeige Speicherbereich hex. und als ASCII-Zeichen
-------

      *D anfangadresse laenge ET1
z.B.: *D 9000 0A ET1
      9000: 9142 4549 5350 4945 4C31 .BEISPIEL1
      *
                         - Fortsetzung der Ausgabe:  ET1
                         - Abbruch                :Q ET1

FILL    Fuellen des Speicherbereiches mit konstanten Daten
----

      *F anfangsadresse laenge datenbyte ET1
z.B.: *F 9100 10 00 ET1; ab Adresse 9100 werden 16 Bytes auf 00
                         geloescht

LIST    Speicheranzeige rueckassembliert (U880-Code)
----

      *LI anfangsadresse befehlsanzahl ET1
z.B.: *LI 8500 5 ET1
      8500: INC HL
      8501: DEC BC
      8502: INC DE
      8503: LD A,C
      8504: OR B
      *
                            - aus Symboltabelle entnehmbare
                              Marken werden eingetragen;
                            - bei Absolutwerten zugehoerige
                              Symbole werden als Kommentar
                              angefuehrt

LOCATE  Suche nach Daten lt. Muster im Speicher
------

      *L vergleichsmusteranfang laenge suchbereichsanfang ET1
z.B.: *D A000        ET1
      A000: FF+'ABC  ET1; Eingabe Vergleichsmuster
      A003: FF+Q     ET1
      *L A000 3 A100 ET1
      D000              ; Ausgabe der gefundenen Adresse
      *
                        - ab Anfangsadresse des Suchbereichs
                          wird die angegebene Bytezahl mit
                          dem Muster verglichen
                        - bei Uebereinstimmung - Ausdruck der
                          Anfangsadresse des gefundenen Bereichs

MOVE    Umspeicherung von Bloecken
----

      *M zieladresse quelladresse laenge ET1
z.B.: *M A200 A000 3  ET1
      *D A200         ET1
      A200: 41+       ET1
      A201: 42+       ET1
      A202: 43+Q      ET1

PORT_IN    Lesen eines Ports
-------

      *PI portadresse ET1
z.B.: *PI 54   ET1
       C0
      *

PORT_OUT  Ausgabe auf Port (ohne Lesezugriff)
--------

      *PO portadresse datenbyte ET1
z.B.: *PO 55 FF ET1
      *

REGISTER  Anzeige Prozessorregister
--------

                                   - als Registerpaare sowie
                                     die Speicherstelle, auf
                                     die PC zeigt (hexadezimal
                                     und als Assemblermnemonik)
       *R  ET1
 AF   BC   DE   HL   AF"  BC"  DE"  HL"  IX   IY   IE   SP   PC
2504 0020 8056 23B4 302C 9003 23B8 30B2 C503 44C7 0F01 00F2 4708
LD B,A 47 CD BD 47
                                   - IE: Interrupt-Register,In-
                                     terrupt-Enable-Flip Flop
                                   - Anzeige und Aenderung ein-
                                     zelner Register mit den
                                     Kommandos WORDDISPLAY bzw.
                                     WSTORE zusammen mit der re-
                                     sidenten Symboldatei (alle
                                     Registerpaare ohne Zweitre-
                                     gistersatz)
z.B.: *W .BC          ET1
      78DD: 0020+0000 ET1; Loeschen BC
      78DF: 8056+Q    ET1
      *
      *WS .SP 00F3    ET1; Stackpointer auf 00F3 einstellen
      *

STORE   Setzen eines Bytespeicherplatzes auf einen festen Wert
-----

      *S adresse datenbyte ET1
z.B.: *S .MAX 00 ET1
      *

WSTORE   Setzen eines Wortspeicherplatzes auf einen festen Wert
------

      *WS adresse datenwort ET1
z.B.: *WS .MIN 4142  ET1
      *D .MIN 2      ET1
      A000: 4241 BA
      *                       - das Wort belegt den Inhalt
                                von Adresse und Adresse+1;
                              - die richtige Reihenfolge nie-
                                derwertiges/ hoeherwertiges
                                Byte ist gesichert

WORDDISPLAY   wortweise Anzeige/ Aenderung von Speicherplaetzen
-----------

      *W adresse ET1; Anzeige Adresseninhalt
z.B.: *W 9000    ET1
      9000: 0102+   ; bedeutet: 9000: 02
                               9001: 01
               Nach dem Systemzeichen '+' sind nachfolgende
               Eingaben moeglich:
                 + wort  ET1; Wortwert (auch Ausdruecke, Sym-
                              bole u.a.)
                 +    ^  ET1; Uebergang zur vorherigen Adresse
                 +       ET1; Uebergang zur naechsten Adresse
                 +     Q ET1; Rueckkehr in Kommandomodus
z.B.: *W 9000         ET1
      9000: 0102+     ET1; naechste Adresse
      9002: 0304+0000 ET1; Wortwert 0000 eingeben
      9004: 0506+   ^ ET1; vorheriger Speicherplatz
      9002: 0000+   Q ET1
      *

WORDDISLAY  wortweise Anzeige Speicherbereich
----------

      *W anfangsadresse wortanzahl ET1
z.B.: *W 9000 3   ET1
      9000: 0102 0000 0506
      *                  - Fortsetzung der Ausgabe:   ET1
                         - Abbruch                : Q ET1


4.3 Kommandos zur Programmablaufsteuerung
-----------------------------------------

BREAKPOINT_DISPLAY  Anzeige aller gesetzten Pruefpunkte
------------------

      *B     ET1
z.B.: *B     ET1
      B0 4000
      B1 5200
      B2 B725
      *                  - zugehoerige Symbole werden soweit
                           vorhanden, angezeigt

BREAKPOINT_SET    Setzen von Pruefpunkten
--------------

       *B adresse  ET1
 z.B.: *B .HALT     ET1
       *                          - max. 16 Pruefpunkte, die in
                                    Pruefpunktliste eingetragen
                                    werden (B0,B1,...,BF)

CALL_INTERPRET    Standardinterpretation von Unterprogrammen
--------------

      *CAI     ET1
      *                                  - UP-Aufrufe werden wie alle
                                    anderen Befehle behandelt,
                                    d.h. Fortsetzung der Inter-
                                    pretation im UP (Zustand ent-
                                    spricht der Voreinstellung)
                                  - Kommando wirkt bei allen fol-
                                    genden Ausfuehrungen von IN-
                                    TERPRET und NEXT bis zum
                                    Kommando CAX

CALL_XECUTE    Ausfuehrung von Unterprogrammen als ein Befehl
-----------

      *CAX   ET1
      *                           - alle UPs werden als ein Be-
                                    fehl betrachtet und in Echt-
                                    zeit ausgefuehrt
                                  - Voraussetzung: UP muss regu-
                                    laer, d.h. an die Stelle nach
                                    dem CALL zurueckkehren
                                  - Kommando wirkt bei allen fol-
                                    genden Ausfuehrungen von IN-
                                    TERPRET und NEXT bis zum Kom-
                                    mando CAI

CLEAR_BREAKPOINT  Pruefpunkt loeschen
----------------

      *CB adresse   ET1; Loeschen eines bestimmten Pruef-
                         punktes
      *CB           ET1; Loeschen aller Pruefpunkte

GO                 Programmstart zur Echtzeitausfuehrung
--

       *G adresse    ET1; Programmstart lt. Adresse
       *G            ET1; Programmstart lt. PC
                                - alle Pruefpunkte werden ins
                                  Programm eingefuegt, d.h.
                                  der Befehlscode wird jeweils
                                  durch RST 38H ersetzt (nur im
                                  RAM wirksam, fuer ROM gilt
                                  INTERPRET)
                                - ist Startadresse identisch
                                  mit einem Pruefpunkt, wird
                                  der erste Befehl im Schritt-
                                  betrieb abgearbeitet, um
                                  diesen Pruefpunkt zu umgehen
                                  (bequemes Testen von Schlei-
                                  fen)
                                 -Programmabbruch bei Erreichen
                                  eines Pruefpunktes bzw. mit
                                  Netztaste (alle Pruefpunkte
                                  durch urspruenglichen Opera-
                                  tionscode ersetzt);
                                  Ausgabe der Registerinhalte

INTERPRET     Programmstart zur interpretativen Ausfuehrung
---------

      *I adresse ET1; Programmstart lt. Adresse
      *I         ET1; Programmstart lt. PC
                                - bewirkt Zeitdehnung um den
                                  Faktor 100
                                - ist Startadresse identisch
                                  mit einem Pruefpunkt, wird
                                  dieser wie bei GO uebergangen
                                - Programmabbruch: bei Errei-
                                  chen eines Pruefpunktes bzw.
                                  mit Netztaste

NEXT          Schrittweise Programmausfuehrung
----

      *N anzahl ET1; Ausfuehrung von n Befehlen
      *N        ET1; Ausfuehrung eines Befehls
                                - Ausfuehrung mittels Interpre-
                                  tationssystem
                                - nach Befehlsausfuehrung: Re-
                                  gisteranzeige sowie Ausgabe
                                  des Folgebefehls
                                - Fortsetzung des Schrittbe-
                                  triebes mit ET1


4.4 Kommandos zur Systemverwaltung
----------------------------------

ALLOCATE    Reservieren vo Speicherplatz
--------

      *A anfangsadresse endadresse laenge ET1
z.B.: *A 4000 5000 300 ET1
         BEG=4000   END=427F   LEN=0300
      *A 4000 8000 3000 ET1
     INSUFFICIET MEMORY  BEG=4000 LEN=0000
                              - Ausgabe des tatsaechlich reservierten
                                Bereichs oder einer Fehlermeldung mit
                                Beginn und Laenge der groessten ver-
                                fuegbaren Luecke

DEALLOCATE    Freigabe des reservierten Speicherplatzes
----------

      *DEA anfangsadresse laenge ET1
z.B.: *DEA 4000 300 ET1
      *
                              - Freigabe jedoch nicht moeglich, wenn
                                nicht alle freizugebenden Speicher-
                                bloecke tatsaechlich reserviert waren
                                ---> Fehlermeldung

DEFINE_SYMBOL    Definition neuer Symbole
-------------

      *DS wert symbol ET1
z.B.: *DS 1000 MAX  ET1
      *DS .MAX-1000 MIN  ET1
                              - Wert auch als Symbol moeglich;
                                keine Pruefung auf Mehrfachdefinition

GET        Laden von Diskettendateien
---

      *GE dateiname ladeadresse ET1
      *GE dateiname             ET1; Ladeadresse wird auf 0000
                                     gesetzt
z.B.: *GE OTTO.S 4000 ET1; Laden einer ASCII-Datei ab Adr.4000
      *
      *GE OTTO        ET1; Laden einer P-Datei entsprechend
                           der Adresse im Beschreibungssatz
                         - f o r t l a u f e n d e s  Laden ab
                           Ladeadresse fuer alle Dateien, die
                           n i c h t  vom Typ P sind
                         - s e g m e n t w e i s e s  Laden von
                           P-Dateien entsprechend ihrer Be-
                           schreibungsaufzeichnung; bei Angabe
                           einer Ladeadresse -> zusaetzliche Re-
                           lativverschiebung im Speicher (nur in
                           Ausnahmefaellen)
                         - Anwenderregister PC: mit Startadresse
                                                geladen
                                            SP: mit hoechster
                                                Programmadresse
                                                einschliesslich
                                                Stack geladen
                         - Pruefung auf Ueberschreiben des Be-
                           triebssystems bzw. Testprogramms;
                           Fehlermeldung "OVERWRITE PROTECTION"
                           und Abbruch des Ladevorganges
                         - die Wortvariablen "LOW" und "HIGH"
                           kennzeichnen den ersten und letzten
                           schreibgeschuetzten Platz und koennen
                           bei Bedarf geaendert werden
                         - mit "ENDE" kann die letzte beschrie-
                           bene Adresse abgefragt werden
                         z.B.: *W .LOW   ET1
                               D004: 4000+
                               *W .HIGH  ET1
                               D006: CFFF+
                               *W .ENDE  ET1
                               ED64: FFFF+
      *GE OTTO.SYM @.SYM ET1; Laden Symboltabelle auf Adresse
                              Systemvariable SYM.
                              Falls der 4 K Bytebereich nicht
                              ausreicht, muss die Symboltabelle
                              durch Aenderung der Variable SYM
                              verlegt werden. Wird danach nicht
                              sofort eine Symboldatei geladen,
                              ist mit Kommando
                              *WS @.SYM 0 ET1
                              das Endekennzeichen (2 = 00) der
                              der Tabelle zu setzen.

HELP    Ausgabe Kommando-Kurzbeschreibung
----

      *H kommando ET1
z.B.: *H GE       ET1; Ausgabe Kommandobeschreibung "GEt"
      *H          ET1; Ausgabe Kommandovorrat

HEXADECIMAL_TO_SYMBOL  Ausgabe Symbol fuer angegebenn Wert
---------------------

      *HS wert ET1
z.B.: *HS 4000 ET1
      ANF
      *HS D005 ET1
      TEIL1
                         - falls kein Symbol vorhanden,
                           erfolgt keine Ausgabe

KOMMANDODATEI      Laden einer Kommandodatei
-------------

      *K dateiname makrokommandobezeichner ET1
z.B.: *K KOM1 Y   ET1; Kommandodatei KOM1 in Puffer Y geladen
      *K KOM2     ET1; Kommandodatei KOM2 in Puffer X geladen
                         - als Makrokomandobezeichner
                           sind X, Y, und Z erlaubt
                         - ohne Angabe des Bezeichners
                           wird Datei in Puffer X gela-
                           den
                         - Laenge einer Kommandodatei:
                           max. 255 Bytes (einzelne
                           Kommandos durch ET1 getrennt)
                         - direkte Eingabe bzw. Aenderung
                           von Makrokommandos ist mit
                           dem DISPLAY-Kommando (Zei-
                           chenketteneingabe) moeglich;
                           Abschluss jedes Einzelkomman-
                           dos mit 0D und des gesamten
                           Makros mit 0DFF; Anfangs-
                           adressen der Makropuffer
                           ueber die residenten Symbole
                           XMAC, YMAC und ZMAC verfuegbar

ON_BREAK_DO    Makrokommandoausfuehrung bei Erreichen eines
-----------    Pruefpunktes

      *ON pruefpunktadresse makrokommandobezeichner ET1
z.B.: *ON .HALT Z  ET1; ab .HALT - Abarbeitung der Kommando-
                        datei im Puffer Z
      *ON 5100     ET1; ab Adr. 5100 - Abarbeitung der Komman-
                        dodatei im Puffer X
                         - als Makrokommandobezeichner sind
                           X, Y und Z erlaubt; ohne Angabe des
                           Bezichners wird X angenommen
                         - Pruefpunkte muessen vorher mit "B"
                           gesetzt worden sein

QUIT     Verlassen des Testhilfsprogramms
----

RSAVE     Hinzufuegen einer neuen Beschreibungsaufzeich-
-----     nung zu einer existierenden Datei

      *RS dateiname   ET1
                         - Kommando RSAVE ist hauptsaechlich
                           zur Aenderung der Segmente in der
                           Beschreibungsaufzeichnung vorgesehen
                         - Beschreibungsbereich ist 116 Byte
                           (74H) lang und steht ab Adresse .REC
                           zur Verfuegung
                         - Laden des Bereichs mit GET oder SAVE
                         - Manipulation (z.B. andere Segmente
                           setzen) vor dem Kommando RSAVE aus-
                           fuehren

SAVE     Erzeugen von P-Dateien
----

      *SA dateiname anfangsadresse endadresse   ET1

z.B.: *SA TEST 4000 4520   ET1
                         - Wert des PC-Registers als Start-
                           adresse uebernommen
                         - Stackgroesse erhaelt Standardwert 80
                         - Begrenzungsadresse LOW und HIGH wer-
                           den mit dem Anfang des 1. Segments
                           und dem Ende des letzten Segments
                           belegt
                         - Erzeugung mehrerer Segmente durch An-
                           gabe weiterer Adresspaare (max. 15)
                           moeglich
z.B.: *SA TEST 4000 4520 4710 4790   ET1

SYMBOL_DISPLAY    Ausgabe der Symboltabelle
--------------

      *SY    ET1
                         - Fortsetzung der Ausgabe:   ET1
                         - Abbruch                : Q ET1

X Y Z - XECUTE     Ausfuehrung geladener Makrokommandos
-----

      *X    ET1
      *Y    ET1
      *Z    ET1
                         - Abbruch mit ET2 moeglich
                         - Direktzugriff zu den Makropuffern
                           ueber die residenten symbolischen
                           Anfangsadressen XMAC, YMAC und ZMAC


4.5. Inhalt der residenten Symboldatei
--------------------------------------
Prozessorregister: AF BC DE HL IX IY IE SP PC

Systemkonstanten : RET-  Eintrittsadresse vom Anwenderprogramm
                         her (z.B. fuer UP- Abarbeitung)
Systemvariablen  : BS-   Bildschirmbreitenkennzeichnung
                         (00-80 Zeichen/Zeile)
                   ENDE- Zeiger auf letzten beschriebenen
                         Speicherplatz beim Dateiladen
                   HIGH- Zeiger auf Ende des beschreibbaren
                         Speichers beim Dateiladen
                   LOW-  Zeiger auf Anfang des beschreibbaren
                         Speichers beim Dateiladen
                   REC-  Anfang der 116 Byte langen Dateibe-
                         schreibung (beginnend mit TYP)
                   SYM-  Zeiger auf Anfang des Symbolbereichs
                   XMAC
                   YMAC
                   ZMAC- Anfangsadressen der Makrokommandopuffer


4.6. Konventionen des integrierten Zeilenassemblers /Rueckass.
--------------------------------------------------------------

Bei der Eingabe mnemonischer Befehle muessen folgende Hinweise
beachtet werden:

      - v o r  OP-Code und  z w i s c h e n  OP-Code und Operand
        muss genau ein Leerzeichen stehen; zwischen mehreren
        Operanden ein Komma

      - Konstantenangabe hexadezimal, mit Ziffer 0...9 begin-
        nend und mit 'H' endend

      - bei Relativspruengen Wert des zweiten Befehlsbytes
        direkt angeben, z.B. JR 0FEH bewirkt JR #

      - Der Zeilen- und Rueckassembler arbeitet mit den Mnemo-
        niks nach TGL 26176. die Abweichungen zu UDOS sind
        im Systemhandbuch UDOS angegeben.

        Ergaenzung: TGL 26176       UDOS
                    RST 7           RST 38H

------------- E N D E --------------------------------------