Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

LEVCO - Priorität des Contingency-Prozesses ändern

&pagelevel(3)&pagelevel

Allgemeines

Anwendungsgebiet:

Contingency-Verfahren; siehe "Contingency-Prozesse";

STXIT-Verfahren; siehe "STXIT-Verfahren mit Contingency-Verarbeitung"

Makrotyp:

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

siehe "S-Typ-Makroaufrufe"


Makrobeschreibung

Mit dem Makroaufruf LEVCO kann der Anwender die Verarbeitungsebene eines laufenden Basis- oder Contingency-Prozesses ändern. Zugelassener Bereich:

Basisprozess: Verarbeitungsebene 0 - 127 (Standardwert: 0)
Contingency-Prozess: Verarbeitungsebene 1 - 127 (Standardwert: 1)

Makroaufrufformat und Operandenbeschreibung

LEVCO

{ NEWLV={level / (r)} / NEWLVAD={adr / (r)} }

[,OLDLVAD=adr / (r)]

,QUEUE=FIFO / LIFO

[,PARMOD=24 / 31]

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

NEWLV=
bezeichnet die neue Verarbeitungsebene, mit der der Prozess fortgesetzt werden soll.

level
Verarbeitungsebene (ganze Zahl)

(r)
r = Register mit der Angabe für level

NEWLVAD=

bezeichnet die neue Verarbeitungsebene, mit der der Prozess fortgesetzt werden soll.

adr
symbolische Adresse eines 1 Byte langen Feldes, mit der Angabe für die Verarbeitungsebene

(r)
r = Register mit dem Adresswert für adr

OLDLVAD=
bezeichnet die alte Verarbeitungsebene des Prozesses, der LEVCO aufgerufen hat.

adr
symbolische Adresse eines 1 Byte langen Feldes, in das die alte Verarbeitungsebene eingetragen werden soll

(r)
r = Register mit dem Adresswert für adr

QUEUE=
gibt an, nach welchem Prinzip der aufrufende Prozess mit der geänderten Verarbeitungsebene unter Prozessen mit (dann) gleicher Verarbeitungsebene eingereiht werden soll.

FIFO
Es gilt das Prinzip First In First Out. Das bedeutet, dass der aufrufende Prozess nach Ausführung des Makros LEVCO nicht nur durch Prozesse mit höherer
Verarbeitungsebene unterbrochen werden kann, sondern dass auch Prozesse mit gleicher Verarbeitungsebene, die bereits aktiviert sind, vor ihm fortgesetzt werden. Neue LIFO-Prozesse mit gleicher Verarbeitungsebene werden vor ihm gestartet, da der aufrufende Prozess am Ende der Warteschlange eingereiht wird.

LIFO
Es gilt das Prinzip Last In First Out. Der aufrufende Prozess kommt auf Grund seiner neuen Verarbeitungsebene an die Spitze der Warteschlange mit Prozessen gleicher Verarbeitungsebene; er kann also nur von Prozessen mit höherer Verarbeitungsebene oder von LIFO-Prozessen mit gleicher Verarbeitungsebene unterbrochen werden.

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

Ein Prozess darf seine Verarbeitungsebene nicht derartig herabsetzen, dass sie unter der eines bereits gestarteten, aber unterbrochenen Prozesses liegt (siehe Abschnitt„Contingency-Prozesse“). Sind die Verarbeitungsebenen gleich, so darf nicht QUEUE=FIFO angegeben werden (nur QUEUE=LIFO ist erlaubt).

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 LEVCO wird ein gegliederter Returncode (aa=primärer RC, bb=sekundärer RC) im Register R15 übergeben.

X'aa'

X'bb'

Erläuterung

X'00'

X'00'

Der Prozess wird mit der neuen Priorität fortgesetzt.

X'04'

X'04'

Keine Aktion: Die neue Priorität ist niedriger (oder gleich bei FIFO) als die eines
bereits aktivierten Prozesses.

X'10'

X'04'

Es wurden ungültige Operanden angegeben. Keine Aktion.