Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Der Operand MF

&pagelevel(4)&pagelevel

Der Operand MF bestimmt die Art der Makrogenerierung.

MF-Angabe

Bedeutung/Auswirkung

MF=S

ist Voreinstellung: Generiert zuerst den Befehlsteil, dann den Datenbereich.
Der Datenbereich enthält keine Feldnamen. Der Standardheader ist initialisiert.

MF=D

Erzeugt einen Datenbereich mit Feldnamen und erläuternde Equates. Die Bildung der Feldnamen kann im Aufruf mit den Operanden PREFIX bzw. MACID beeinflusst werden.
Der Datenbereich beginnt mit dem Statement DSECT. Diese Art der Makroauflösung wird im Folgenden als Erzeugung einer DSECT bezeichnet.
Eine DSECT beschreibt die Struktur eines Speicherbereiches, ohne selbst Speicherplatz zu belegen. Der Adresspegel wird auf null gesetzt.

MF=C

Erzeugt einen Datenbereich mit Feldnamen und erläuternden Equates. Die Bildung der Feldnamen kann im Aufruf mit den Operanden PREFIX bzw. MACID beeinflusst werden.

MF=L

Erzeugt nur den Datenbereich.
Der Datenbereich enthält keine Feldnamen. Der Standardheader ist initialisiert. Auf den erzeugten Datenbereich kann in einem Aufruf mit MF=E verwiesen werden.

MF=E

Es werden nur die zum Aufruf des Funktionsbausteins notwendigen Befehle generiert.
Der Befehlsteil endet i.d.R. mit einem SVC. Im Makroaufruf muss die Adresse des Datenbereichs mit den Parameterwerten angegeben sein.

MF=(E,adr)
MF=(E,(r))
Nur der Verarbeitungscode (SVC) wird generiert. adr bzw. das Register r enthalten die Adresse des Datenbereichs (Parameterliste) für die MF=L-Auflösung.

MF=E[,PARAM=adr]
MF=E[,PARAM=(r)]
Der Operand PARAM bezeichnet die Adresse der Operandenliste. r = Register, das die Adresse des Datenbereichs enthält. Vor dem Makroaufruf muss das Register mit diesem Adresswert geladen werden.

MF=M

Der Aufruf erzeugt Befehle, die in der bereits vorhandenen Operandenliste alle explizit angegebenen Funktionsoperanden mit den neuen Werten versorgen.

Tabelle 28: MF-Operand in Makroaufrufen

Bei getrennter Generierung von Befehlsteil und Datenbereich müssen die in den Übersetzungsparametern (VERSION, PARMOD) angegebenen Werte übereinstimmen.

Die Verwendung eines Standardheaders ist von dem Übersetzungsparameter VERSION abhängig. Ohne Standardheader wird im Befehlsteil der SVC 133 generiert, mit Standardheader der SVC 190.

Parameterlisten müssen auf Wortgrenze ausgerichtet sein.

Die Versorgung der Parameterliste sollte nur über den entsprechenden Makroaufruf mit den explizit angegebenen Operanden erfolgen. Die einzelnen Bits besitzen oft (besonders bei CATJV) eine komplexe Abhängigkeit. Deshalb ist das direkte Verändern der Parameterliste nicht zu empfehlen.

Register R1 wird bei der Makroverarbeitung mit der Adresse der Parameterliste geladen (bei MF=E und MF=S).