Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

DISSI - Zuordnung zu einer Serialisierungskennung lösen

&pagelevel(3)&pagelevel

Allgemeines

Anwendungsgebiet:

(Task-)Serialisierung; siehe "(Task-)Serialisierung"

Makrotyp:

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

siehe "S-Typ-Makroaufrufe"


DISSI generiert je nach Angabe die 24-Bit- oder die 31-Bit-Schnittstelle. Bei Makroverkettung müssen alle Makros der Kette dieselbe Schnittstelle (24-Bit oder 31-Bit-Schnittstelle) benutzen.

Makrobeschreibung

Dieser Makroaufruf wird benutzt, um die Verwendung der angegebenen Serialisierungskennung durch die Task des Aufrufers zu beenden. Verwendet keine weitere Task diese Serialisierungskennung, so wird sie gelöscht.
Vor dem DISSI-Makroaufruf muss die Belegung der Serialisierungskennung wieder aufgehoben sein (Makro DEQAR).
Mit dem CONTINU-Operanden können bis zu 255 DISSI-Aufrufe gekettet werden.

Makroaufrufformat und Operandenbeschreibung

DISSI

{{SINAME=name / SINAMAD={adr / (r)} [,SINAMLN=länge]},SCOPE={LOCAL / GROUP / USER_GROUP /

GLOBAL}} /

SIID={adr / (r)}}

,CONTINU=NO / YES

[,PARMOD=24 / 31]

[,MF=L / (E,..)]

SINAME=name
gibt den Namen der Serialisierungskennung an. Diese Angabe ist nur zusammen mit dem Operanden SCOPE eindeutig.

SINAMAD=

bezeichnet den Namen der Serialisierungskennung. Diese Angabe ist nur zusammen mit dem Operanden SCOPE eindeutig.

adr
symbolische Adresse des Feldes, das den Namen enthält

(r)
r = Register, das die Adresse enthält.

SINAMLN=
gibt die Länge des Namens der Serialisierungskennung in Byte an. Die Länge muss mindestens 1 Byte sein und darf 54 Byte nicht überschreiten.
Fehlt der Operand, so wird das Längenattribut des SINAMAD-Operanden angenommen, wenn SINAMAD=adr angegeben ist; bei SINAMAD=(r) wird die maximale Länge (54) angenommen.

länge
Länge des Namens der Serialisierungskennung.

SCOPE=
beschreibt den Geltungsbereich (Teilnehmerkreis) für die Serialisierungskennung.

LOCAL
Die Serialisierungskennung wird nur von der Task des Aufrufers benutzt.

GROUP
Teilnehmer sind alle Tasks unter der Benutzerkennung des Aufrufers.

USER_GROUP
Teilnehmer können alle Tasks sein, deren Benutzerkennungen der gleichen Benutzergruppe angehören wie die Benutzerkennung des einrichtenden Teilnehmers.

Der Operandenwert setzt die Existenz von Benutzergruppen voraus und kann daher nur angegeben werden, wenn die Funktionseinheit SRPM des Software-Produkts SE-COS im System vorhanden ist. Vor einem Makroaufruf mit SCOPE=USER_GROUP muss deshalb mit dem Makro GETUGR (siehe Handbuch „SECOS“ [14]) geprüft werden, ob SRPM zur Verfügung steht; abhängig vom Ergebnis (Returncode) ist im Programm zu reagieren.

GLOBAL
Teilnehmer sind alle Tasks im System

SIID=
bezeichnet die Kurzkennung der Serialisierungskennung. Diese Kurzkennung wird dem Benutzer durch den ENASI-Makroaufruf zur Verfügung gestellt. Die Verwendung der Kurzkennung, an Stelle des Namens zur Identifizierung einer Serialisierungskennung beschleunigt die Verarbeitung. Diese Angabe ist eindeutig.

adr

symbolische Adresse eines 4 Byte langen Feldes, das die Kurzkennung enthält

(r)
r = Register, das die Adresse enthält

CONTINU=
Durch diesen Operanden kann eine Kettung von bis zu 255 DISSI-Aufrufen erfolgen.

NO
Dieser Aufruf ist der letzte (bzw. einzige) Aufruf einer Folge.

YES
unmittelbar nach diesem DISSI-Aufruf erfolgt ein weiterer.

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).

Hinweise zum Makroaufruf

  • Die Disable-Funktion kann auch als Teil eines DEQAR-Makroaufrufes angefordert werden (siehe DEQAR-Makroaufruf).

  • Bei Programmbeendigung wird für alle Serialisierungskennungen, die von der Task noch verwendet werden, vom System ein Disable ausgeführt.

  • Bei der Verwendung der Listenform des Makroaufrufes (Operand MF=L) ist zu beachten:


    Zur Ausführung muss nur ein Makroaufruf mit MF=E gegeben werden, unabhängig davon, ob dieser Aufruf für eine einzelne Anforderung oder für eine Folge von Anforderungen gilt. Der Datenbereich bei einer Folge von Anforderungen wird durch Kettung der Makroaufrufe (MF=L) durch den CONTINU-Operanden erzeugt.

Rückinformation und Fehleranzeigen

Register R1 enthält die Adresse des Datenbereichs.

R15:

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

Über die Ausführung des Makros DISSI 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'

Alle Disable-Aufrufe wurden ausgeführt:
Mindestens eine Serialisierungskennung wurde gelöscht.

X'08'

X'00'

Alle Disable-Aufrufe wurden ausgeführt:
Die Verwendung aller angegebenen Serialisierungskennungen wurde beendet.

X'0C'

X'04'

Nicht alle Disable-Aufrufe wurden ausgeführt:
Mindestens eine Serialisierungskennung wurde nicht von der Task des Aufrufers
verwendet.

X'10'

X'04'

Nicht alle Disable-Aufrufe wurden ausgeführt:
Es wurden ungültige Operanden angegeben:

  • ungültige Adresse; z.B. Adresse innerhalb einer DSECT

  • ungültige Länge

  • ungültiger Name

  • nichtdefinierter Geltungsbereich oder CONTINU-Wert

X'14'

X'04'

Nicht alle Disable-Aufrufe wurden ausgeführt:
Es wurde eine ungültige Kennung angegeben (die Kennung ist dem System nicht
bekannt, bzw. der Aufrufer hat keinen zugehörigen, gültigen ENABLE-Aufruf gegeben;
siehe ENASI-Makroaufruf).

X'24'

X'04'

Nicht alle Disable-Aufrufe wurden ausgeführt:
Die Disable-Anforderung wurde für eine Serialisierungskennung gegeben, für die
eine Enqueue-Anforderung erfüllt, jedoch noch keine zugehörige Dequeue-Aktion
ausgeführt wurde.