Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

CHKSI - Serialisierungskennung prüfen

&pagelevel(3)&pagelevel

Allgemeines

Anwendungsgebiet:

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

Makrotyp:

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

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

Makrobeschreibung

Dieser Makroaufruf wird benutzt, um den Zustand einer Serialisierungskennung zu prüfen. Das Ergebnis dieser Überprüfung wird im Register R15 zur Verfügung gestellt (siehe unten).

Zur Ausführungszeit des CHKSI-Makroaufrufs muss die angesprochene Serialisierungskennung bereits vorhanden sein; es erfolgt kein implizites Einrichten.

Mit dem CONTINU-Operand können bis zu 255 CHKSI-Aufrufe gekettet werden.

Makroaufrufformat und Operandenbeschreibung

CHKSIFormat 1

SINAME=name

,SCOPE=LOCAL / GROUP / USER_GROUP / GLOBAL

,CONTINU=NO / YES

[,PARMOD=24 / 31]

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


CHKSIFormat 2

SINAMAD=adr / (r)

[,SINAMLN=länge]

,SCOPE=LOCAL / GROUP / USER_GROUP / GLOBAL

,CONTINU=NO / YES

[,PARMOD=24 / 31]

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


CHKSIFormat 3

SIID=adr / (r)

,CONTINU=NO / YES

[,PARMOD=24 / 31]

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

SINAME=name

gibt den Namen der Serialisierungskennung an. Zur eindeutigen Bezeichnung der Serialisierungskennung ist die zusätzliche Angabe von SCOPE nötig.

SINAMAD=
bezeichnet den Namen der Serialisierungskennung. Nur durch die zusätzliche Angabe des Operanden SCOPE ist die Serialisierungskennung eindeutig bezeichnet.

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 in Byte.

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

LOCAL
Die Serialisierungskennung wird nur von der aufrufenden Task 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 SECOS 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=
bestimmt, ob eine Kettung von bis zu 255 CHKSI-Aufrufen erfolgen soll.

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

YES
bedeutet, dass unmittelbar nach diesem CHKSI-Aufruf ein weiterer folgt.

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

Hinweis zum Makroaufruf in Listenform (Operand MF=L)

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

R15:

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

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

X'bb'

X'aa'

Erläuterung

X'28'

X'00'

Alle Serialisierungskennungen wurden geprüft.
Alle angegebenen Serialisierungskennungen sind verfügbar, d.h. keine der Serialisierungskennungen ist belegt.

X'2C'

X'00'

Alle Serialisierungskennungen wurden geprüft.
Alle angegebenen Serialisierungskennungen sind von der Task des Aufrufers belegt, d.h. die Zugriffsanforderung für diese Serialisierungskennungen wurde erfüllt.

X'30'

X'00'

Alle Serialisierungskennungen wurden geprüft.
Eine oder mehrere der angegebenen Serialisierungskennungen sind von der Task des Aufrufers belegt, der Rest ist verfügbar.

X'34'

X'00'

Alle Serialisierungskennungen wurden geprüft.
Der Task des Aufrufers belegt keine der angegebenen Serialisierungskennungen, eine oder mehrere sind jedoch von anderen Tasks belegt.

X'38'

X'00'

Alle Serialisierungskennungen wurden geprüft.
Eine oder mehrere der angegebenen Serialisierungskennung sind von der Task des Aufrufers belegt; der Rest ist von anderen Tasks belegt oder verfügbar.

X'10'

X'04'

Nicht alle Serialisierungskennungen wurden geprüft.
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 Serialisierungskennungen wurden geprüft.
Es wurde eine ungültige Kennung angegeben.

X'20'

X'04'

Nicht alle Serialisierungskennungen wurden geprüft.
Für mindestens eine Serialisierungskennung wurde von dem aufrufenden Programm noch keine Enable-Funktion (siehe ENASI-Makroaufruf) ausgeführt.