Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Makrosyntax für Formatoperanden

&pagelevel(3)&pagelevel

Die Makro-Operanden können in zwei Gruppen eingeteilt werden:

Steueroperanden

Operanden, die die Form und die Generierung des Makros festlegen.

Funktionsoperanden

schnittstellen-spezifische Operanden

Steueroperanden

MF

PREFIX

MACID

PARAM

XPAND

steuert die Code-Generierung („Makro-Form“)

steuert die Generierung der Namen (erster Buchstabe)

steuert die Generierung der Namen (zweiter bis vierter Buchstabe)

steuert die Adressierung des Parameterbereichs

steuert die Expansion einzelner Datenstrukturen

Makroformen

Der Operand MF legt die Form des Makros fest. Er kann folgende Werte annehmen:

MF = C | D | L | E | M

MF = C

Das Layout der Datenstruktur (in der Regel der Parameterbereich) wird erzeugt, wobei jedes Feld und jedes Equate benannt sind. Diese Datenstruktur wird Teil des aktuellen Programmabschnitts (CSECT/DSECT).

Die Funktionsoperanden des Makros werden nicht ausgewertet.

PREFIX

Der Operand PREFIX dient zur Generierung der zu erzeugenden Namen. PREFIX, der genau ein Buchstabe ist, wird als erster Buchstabe aller Namen verwendet. Default-Wert ist der Kennbuchstabe der Funktionseinheit, dem der Makro angehört. Um Namensgleichheit zu vermeiden, ist PREFIX zu verwenden, wenn dieselbe Datenstruktur mehrfach innerhalb eines Moduls verwendet wird.

MACID

Der Operand MACID dient zur Generierung der zu erzeugenden Namen, und bestimmt das zweite bis vierte Zeichen des Namens. Default-Wert: zwei Zeichen als Entwicklungsgruppenkennzeichen und ein Zeichen als makrospezifisches Kennzeichen. Der Default-Wert garantiert die Kollisionsfreiheit der Namen innerhalb der Komponentengruppe.

MF = D

wie bei MF = C; zusätzlich wird ein DSECT-Statement erzeugt. Der MACID-Operand wird ignoriert, d. h. der Default-Wert wird angenommen.

 

MF = L

Erzeugt eine Instanz des Parameterbereichs unter Auswertung der Funktionsoperanden. Diese Makroform erzeugt keine Feldnamen; die Label-Angabe wird zur Benennung der erzeugten Konstanten verwendet.

MF = E

Erzeugt die zum Aufruf der Funktion notwendigen Befehle. Die Funktions-operanden werden ignoriert. Die Adressierung des Parameterbereichs muss mit dem Steueroperanden PARAM sichergestellt werden:

PARAM=<adresse>

Adresse des Parameterbereichs als Name

PARAM=(<reg>)

Adresse des Parameterbereichs, im Register mit dem Namen <reg> enthalten.

MF = M

Modifiziert einen durch Kopieren einer MF=L-Form vorher initialisierten Parameterbereich unter Auswertung der angegebenen Funktionsoperanden. Nicht angegebene Operanden bleiben im ursprünglichen Zustand.

Die Konsistenz des Parameterbereichs liegt in der Verantwortung des Makro-Aufrufers.

MF=M setzt voraus, dass die MF=D-Form oder MF=C-Form mit denselben Werten der PREFIX- und MACID-Operanden aufgerufen wurde, und dass zur Adressierung der DSECT (MF=D-Form) ein USING-Statement abgesetzt worden ist.