Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

ENACO - Contingency-Definition eröffnen

&pagelevel(3)&pagelevel

Allgemeines

Anwendungsgebiet:

Contingency-Verfahren; siehe "Contingency-Prozesse"

Makrotyp:

S-Typ, MF-Format 1: Standardform/L-/E-Form;

siehe "S-Typ-Makroaufrufe"


Makrobeschreibung

Durch den Aufruf des Makros ENACO wird eine Routine als Contingency-Prozess definiert. Der Contingency-Prozess erhält dabei einen Namen. Er muss definiert sein, bevor er in einem SOLSIG- oder POSSIG-Makroaufruf angegeben werden kann. Durch den Aufruf ENACO wird eine Kurzkennung zur Verfügung gestellt, die in weiteren Aufrufen, die sich auf den Contingency-Prozess beziehen, zu verwenden ist. Ein Programm kann maximal 400 Contingency-Prozesse gleichzeitig verwenden. Der Geltungsbereich eines Contingency-Prozesses ist lokal: Die Verwendung ist auf die Task des Aufrufers beschränkt.

Der zum Zeitpunkt des ENACO-Aufrufs bestehende Adressierungsmodus (AMODE) muss auch bei Ablauf der Contingency-Routine eingeschaltet sein.

Makroaufrufformat und Operandenbeschreibung

ENACO

{ CONAME=name / CONAMAD={adr / (r)} [,CONAMLN=länge] }

,COADAD={adr / (r)} ,COIDRET={adr / (r)}

[,COMAD={adr / (r)} ] [,LEVEL={prio / (r)}]

[,PARMOD={24 / 31}] [,MF={L / (E, ..})]

CONAME=
bezeichnet den Namen des Contingency-Prozesses.

name
Name des Contingency-Prozesses. 1 <= Namenslänge <= 54.


Namensbildung:
1. Zeichen:     Buchstabe, #, @
2.-54. Zeichen: beliebige Kombination aus der Zeichenmenge 
                (A,...,Z,0,...,9,$,#,@).
Das erste Blank (X'40') beendet den Namen.


CONAMAD=

bezeichnet die Adresse des Felds mit dem Namen des Contingency-Prozesses (Namensbildung siehe CONAME).

adr
symbolische Adresse (Name) des Feldes

(r)
r = Register mit dem Adresswert adr

CONAMLN=
beschreibt die Länge des Namens des Contingency-Prozesses, wenn CONAMAD=... spezifiziert wurde.

länge
Länge des Namens in Byte
Voreinstellung:

  • Längenattribut des bei CONAMAD=... angegebenen Feldes

  • 54 Byte, wenn CONAMAD=(r) spezifiziert wurde

COADAD=
bezeichnet ein Feld, das die Startadresse des Contingency-Prozesses enthält. Das Feld ist auf Wortgrenze auszurichten.

adr
symbolische Adresse (Name) eines Feldes, das die Startadresse enthält

(r)
r = Register mit der Adresse adr

COIDRET=
bezeichnet die Adresse eines Feldes, in das eine Kurzkennung übergeben wird. Die Kurzkennung ist in weiteren Makroaufrufen, die sich auf den Contingency-Prozess beziehen, zu verwenden. Das Feld ist auf Wortgrenze auszurichten.

adr
symbolische Adresse (Name) des Feldes für die Kurzkennung

(r)
r = Register mit dem Adresswert des Feldes

COMAD=

bezeichnet ein Feld, das eine Contingency-Mitteilung enthält. Die Mitteilung wird in das Register R1 des Contingency-Prozesses übertragen. Eine hier gegebene Mitteilung kann durch eine eventuell beim SOLSIG- oder POSSIG-Makroaufruf gegebene ersetzt werden.

adr
symbolische Adresse (Name) des Feldes mit der Mitteilung

(r)
r = Register mit dem Adresswert adr

LEVEL=
benennt die Priorität (Verarbeitungsebene) des Contingency-Prozesses.

prio
Priorität des Contingency-Prozesses; 1 <= prio <= 127
Voreinstellung: prio = 1.

(r)
r = Register mit dem Wert für prio.

MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. für einen Präfix) siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.

PARMOD=
steuert die Makroauflösung. Es wird entweder die 24-Bit- oder die 31-Bit-Schnittstelle generiert.
Wenn PARMOD nicht spezifiziert wird, erfolgt die Makroauflösung entsprechend der Angabe für den Makro GPARMOD oder der Voreinstellung für den Assembler (= 24-Bit-Schnittstelle).

24
Die 24-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 24-Bit-Adressen (Adressraum <= 16 MB).

31
Die 31-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 31-Bit-Adressen (Adressraum <= 2 GB).

Rückinformation und Fehleranzeigen

Während der Makrobearbeitung enthält Register R1 die Adresse der Operandenliste.

R15:

+---------------+
|   |   |   |   |
|b|b| | | | |a|a|
+---------------+

Über die Ausführung des Makros ENACO wird ein gegliederter Returncode (aa=primärer RC, bb=sekundärer RC) im Register R15 übergeben.

X'bb'

X'aa'

Erläuterung

X'04'

X'00'

Der Contingency-Prozess wurde für den aufrufenden Prozess definiert.

X'0C'

X'04'

Der Contingency-Prozess war bereits für den aufrufenden Prozess definiert. Keine
Aktion.

X'10'

X'04'

Es wurden ungültige Operanden angegeben. Keine Aktion.

X'18'

X'04'

Die maximal erlaubte Anzahl von gleichzeitig verwendeten Contingency-Prozessen
wurde überschritten. Keine Aktion.

Beispiele siehe "Contingency-Prozesse" und "POSSIG - Ereignis signalisieren".