Der Makroaufruf CLISET schützt Programme explizit vor Unterbrechungen. Zu weiteren Informationen Abschnitt „Nichtunterbrechbarkeit“.
Operation | Operanden |
CLISET | MF = E ,PARAM = <name 1..8> / (integer 1..15) |
MF = D [,PREFIX = C / prefix] | |
MF = C [,PREFIX = C / prefix] [,MACID = LIS / macid] | |
MF = L [,EXNINT = *U / *Y/ *N] |
Operandenbeschreibung
MF = E
Execute-Form des Makroaufrufs; erzeugt einen SVC.
PARAM
Bezeichnet die Adresse der Operandenliste, die für den Makroaufruf ausgewertet wird (Adresse des Makroaufrufs mit MF=L).
= <name 1..8>
Bezeichnet die symbolische Adresse der Operandenliste.
= (<integer 1..15>)
Bezeichnet das Register, das die Adresse der Operandenliste enthält.
MF = D
DSECT-Form des Makroaufrufs; erzeugt eine DSECT für die Operandenliste. Die generierten Namen beginnen mit dem Buchstaben C; sie können mit PREFIX verändert werden.
PREFIX = C / prefix
Definiert das erste Zeichen der generierten Namen.
Voreinstellung: Die generierten Namen beginnen mit dem Buchstaben C. Dieser Buchstabe kann durch den Parameter prefix geändert werden.
MF = C
C-Form des Makroaufrufs; erzeugt eine Operandenliste, deren symbolische Namen mit der Zeichenfolge CLIS beginnen. Sie können durch PREFIX und MACID verändert werden.
PREFIX = C / prefix
Definiert das erste Zeichen der generierten Namen.
Voreinstellung: Die generierten Namen beginnen mit dem Buchstaben C. Dieser Buchstabe kann durch den Parameter prefix geändert werden.
MACID = LIS / macid
Bis zu drei Zeichen langer String, der die Zeichen 2 bis 4 der generierten Namen ersetzt. Voreinstellung: LIS
MF = L
LIST-Form des Makroaufrufs: erzeugt die Operandenliste für den Makroaufruf mit MF=E (Execute-Form). Der Makroaufruf muss über eine symbolische Adresse adressierbar sein.
EXNINT
Mit dieser Option wird für ein Programm der explizite Nichtunterbrechungs-Modus eingestellt.
= *U
Die vorangegangene Einstellung wird nicht verändert. Beim ersten Aufruf wird hier *N angenommen.
= *Y
Das Programm ist explizit vor Unterbrechungen geschützt.
= *N
Das Programm ist nicht explizit vor Unterbrechungen geschützt.
Hinweise
Die Option EXNINT kann nicht gestapelt werden, wenn CLISET mehrere Male aufgerufen wird.
EXNINT =*U ist eine Dummy-Operandeneinstellung. Es setzt keine Informationen in SDF-P ab und löst auch keinen Returncode mit Ausnahme von „Kein Fehler“ aus.
EXNINT=*Y bewirkt folgende Systemänderungen:
K2 zurückgewiesen, wenn nicht K2-STXIT aktiviert ist.
//EXECUTE-SYSTEM-CMD wird zurückgewiesen.
Durch die Anweisung und das Kommando HOLD-PROGRAM wird EOF zurückgegeben.
Jede andere sicherheitsrelevante Aktion (CMD, BKPT, K2-STXIT, SVC usw.) ist unter der Verantwortung des Aufrufer-Programms.
Returncodes
Die Tabelle auf der folgenden Seite listet die Returncodes in hexadezimaler Schreibweise auf. Register von Benutzerprogrammen werden nicht verändert.
Subcode2 | Subcode1 | Maincode | Bedeutung |
01 | 00 | 0000 | Keine Aktion (EXNINT=*U) |
00 | 00 | 0000 | Makroaufruf war erfolgreich; kein Fehler |
00 | 01 | 0001 | Parameter-Fehler; |
01 | 00 | 0002 | EXNINT=*Y wurde schon vorher gesetzt oder EXNINT=*N wurde schon vorher gesetzt |
00 | 20 | 0004 | Systemfehler |
00 | 01 | FFFF | Unbekannte Unit- oder Funktions-Nummer |
00 | 02 | FFFF | Funktion nicht verfügbar |
00 | 03 | FFFF | Falsche Version der Operandenliste |