Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Metasyntax für die Makro-Aufrufformate

&pagelevel(4)&pagelevel

Bei der Darstellung der Makroaufrufformate werden bestimmte Metazeichen verwendet und Vereinbarungen getroffen, die in der folgenden Tabelle erläutert sind:

Formale
Darstellung

Erläuterung

Beispiel

GROSS-
BUCHSTABEN

Großbuchstaben bezeichnen Schlüsselwörter oder
Konstanten, die in dieser Form vom Benutzer
angegeben werden müssen. Schlüsselwörter müssen
mit * beginnen, falls alternativ sowohl Schlüsselwörter
als auch Namen von Konstanten oder Variablen
angegeben werden können.

DATATYPE=CATID

Einzugeben ist:
DATATYPE=CATID

Kleinbuchstaben

Kleinbuchstaben bezeichnen Variablen, die bei der
Eingabe vom Benutzer durch aktuelle Werte ersetzt
werden müssen, d.h. ihr Inhalt kann von Fall zu Fall
verschieden sein.

SHORTST=integer

Einzugeben ist:
SHORTST=10 oder
SHORTST=54

usw.

Geschweifte Klammern schließen Alternativen ein,
d.h. aus den eingeschlossenen Größen muss eine
Angabe ausgewählt werden.

CCSNAME=

Einzugeben ist:
CCSNAME=*NO oder
CCSNAME=*EXTEND oder
CCSNAME=xxxxx

/

Ein Schrägstrich trennt alternative Operandenwerte,
von denen einer ausgewählt werden muss.

SYMTYP=CSECT/ENTRY

Einzugeben ist:
SYMTYP=CSECT oder
SYMTYP=ENTRY

Unterstreichung

Die Unterstreichung hebt den Default-Wert
(Voreinstellung) hervor. Das ist der Wert, den das System
einsetzt, wenn der Benutzer keine Angabe macht.
Hat ein Operand keinen Default-Wert, so ist die
Angabe des Operanden Pflicht.

PATTERN=*NO / addr

. . .

Punkte bedeuten eine Wiederholung. Sie zeigen
an, dass die davor stehende Einheit mehrmals
hintereinander wiederholt werden kann.

(modul,...)

Einzugeben ist:
(MODUL1) oder
(A,B,C) oder
(A1,A2,A3,A4) usw.

list-poss(n)

Aus den list-poss(n) folgenden Werten kann eine
Liste gebildet werden. Ist (n) angegeben, können
maximal n Elemente in der Liste vorkommen. Bei
mehr als einem Listen-Element muss die Liste in
runde Klammern eingeschlossen sein.

DEVCLAS=list-poss(2): 
DISK / TAPE

Einzugeben ist:
DEVCLAS=DISK oder
DEVCLAS=TAPE oder
DEVCLAS=(DISK,TAPE)

[ ]

Eckige Klammern schließen Wahlangaben ein, d.h.
Angaben, die man weglassen darf. Steht bei
Wahlangaben das Komma innerhalb der Klammer, so
wird es nur bei Verwendung dieser Wahlangabe
verlangt und kann beim ersten Operanden
weggelassen werden. Steht es außerhalb der Klammer, so
muss es stets geschrieben werden, auch wenn keine
Wahlangabe gemacht wird.
(Runde Klammern müssen eingegeben werden.)

MAP=S[YSOUT]

Einzugeben ist:
MAP=SYSOUT

oder abgekürzt:
MAP=S

< >

Spitze Klammern kennzeichnen den Datentyp des
Operanden.

INOUT=<var:pointer>

=

Das Gleichheitszeichen verbindet den
Operandennamen mit den dazugehörenden
Operandenwerten.

SPIN=*NO / *YES

Datentypen der Operandenwerte

Datentyp

Zeichenvorrat

Besonderheiten

c-string

EBCDIC-Zeichen

ist in Hochkommata einzuschließen und ohne einleitendes "C"
anzugeben. Hochkommata in der Zeichenkette sind doppelt
anzugeben. Eine inhaltliche Bedeutung der Angabe wird anschließend
in SDF-Schreibweise angegeben, abgetrennt durch
Doppelpunkt. Der Zusatz n..m beschreibt die Eingabelänge in Bytes.
Beispiel:
im Syntaxdiagramm: SELECT = <c-string 1..255>
bei der Eingabe: SELECT='testfile'

x-string

Sedezimal 00..FF

Ist in Hochkommata einzuschließen, und der Buchstabe X muss
vorangestellt werden: X'xxxx'. Der Zusatz n..m beschreibt die
maximale Eingabelänge in Bytes.
Beispiel:
im Syntaxdiagramm: PASSWORD = <x-string 1..10>
bei der Eingabe in Assembler: PASSWORD=X'FF00AA1122'
bei der Eingabe in C/C++: PASSWORD=0xFF00AA1122

name

A..Z, 0..9, $, #, @

Bezeichner. Das Format ist der jeweiligen Operandenbeschreibung
zu entnehmen.
Beispiel:
im Syntaxdiagramm: PARAM = <name 1..8>
bei der Eingabe: PARAM=MYPARAM

label

A..Z
0..9
$,#,@

Kennzeichnet eine Marke.
Beispiel:

OUTAREA=structure (2):
(1) address: <label>

integer

0..9,+,-

"+" bzw. "-" kann nur erstes Zeichen sein. Der Zusatz n..m
beschreibt den zulässigen Wertebereich.
Beispiel:
im Syntaxdiagramm: MAXLEN = <integer 1..255>
bei der Eingabe: MAXLEN=200

var:


Leitet eine variable Angabe ein. Nach dem Doppelpunkt folgt der
Datentyp der Variablen (siehe folgende Tabelle).
Beispiel:
im Syntaxdiagramm: SELECT = <var: char:255>
bei der Eingabe (Angabe des Variablenbezeichners):
SELECT=VARSELECT

reg:


Leitet eine Register-Angabe ein (Register 0..15). Nach dem
Doppelpunkt folgt der Datentyp des Registerinhalts. Bei der Eingabe
kann ein Register oder ein Register-EQUATE verwendet werden.

Tabelle 5: Datentypen der Operandenwerte

Datentypen der Variablen und Registerinhalte

Datentyp

Beschreibung

char:n

Kennzeichnet eine Zeichenkette der Länge n. Die Zeichenkette darf nur dann
kürzer sein, wenn eine bestimmte Bedingung eingehalten wird. Die Bedingung
ist der jeweiligen Operandenbeschreibung zu entnehmen. Fehlt die Längenangabe,
wird n=1 angenommen.

int:n

Kennzeichnet eine Ganzzahl, die n Byte belegt, wobei n<=4 gilt. Fehlt die
Längenangabe, wird n=1 angenommen.

bit:n

Kennzeichnet einen Bitstring der Länge n. Fehlt die Längenangabe, wird n=1
angenommen.
(in C: Deklaration als 'unsigned')

enum-of E:n

Die Variable ist die Aufzählung E, die n Byte belegt, wobei n<=4 gilt. Fehlt die
Längenangabe, wird n=1 angenommen.

pointer

Zeiger (die Adresse wird übergeben).
Bereichsreferenzierung mit Hilfe von Zeigervariablen:

  • mit MF=L: Adressnotation:

    ...,MF=M,<operand>=A(area)

  • mit MF=M: Registernotation, Adressnotation oder symbolische Adresse
    eines Feldes, das die Adresse eines Bereiches enthält:


LA 2,area 
... MF=M,<operand>=(2)

oder

... MF=M,<operand>=A(area)

oder

LA 2,area 
ST 2,areaADD
... MF=M,<operand>=areaADD
areaADD DS A

Tabelle 6: Datentypen der Variablen und Registerinhalte