Makrotyp: R-Typ
Der RELSE-Makroaufruf bewirkt
für Dateien, die mit OPEN INPUT/REVERSE/UPDATE eröffnet wurden, dass beim nächsten GET-Makroaufruf die im Puffer verbliebenen Sätze übergangen werden und der 1. Satz im nächsten Datenblock gelesen wird.
für Dateien, die mit OPEN OUTPUT/EXTEND eröffnet wurden, dass beim nächsten PUT-Makroaufruf der Datenblock auf den Datenträger geschrieben wird und der nächste Satz zum ersten Satz des neuen Datenblocks wird.
Im Locate-Mode (Ortungsbetrieb) versorgt das DVS das IOREG-Register (siehe Makro FCB, Operand IOREG, "FCB - Dateisteuerblock definieren") mit der Adresse des ersten freien Bytes innerhalb des Puffers. Der Anwender muss anschließend dafür sorgen, dass der Satz, der in die Ausgabedatei aufgenommen werden soll, an dieser Adresse bereitgestellt wird.
Werden Sätze vom Format V im Locate-Mode verarbeitet, so wird im VARBLD-Register (siehe Makro FCB, Operand VARBLD, "FCB - Dateisteuerblock definieren") die freie Pufferkapazität angezeigt. Nach dem RELSE-Aufruf beträgt die freie Pufferkapazität: Blocklänge minus Pufferverschiebung (siehe BLKSIZE bzw. BUFOFF im Makro FCB, "FCB - Dateisteuerblock definieren" bzw. "FCB - Dateisteuerblock definieren").für Dateien, die mit OPEN UPDATE eröffnet wurden, dass der aktuelle Datenblock zurückgeschrieben wird – wenn ein Satz mit PUTX aktualisiert worden ist – und der nächste GET den ersten Satz des nächsten Datenblocks liefert.
Format
Operation | Operanden |
|
|
Operandenbeschreibung
fcbadr
Adresse des FCB, mit dem die zu verarbeitende Datei in Verbindung steht.
(1)
Die FCB-Adresse steht im Register 1.
PARMOD
Gibt den Generierungsmodus für den Makroaufruf an.
Voreinstellung: | der durch den Makro GPARMOD oder durch den Assembler voreingestellte Wert für den Generierungsmodus |
= 24
Der Makroaufruf wird mit der Expansion für die 24-Bit-Schnittstelle aufgelöst.
Das Objekt ist nur im 24-Bit-Adressierungsmodus ablauffähig.
= 31
Der Makroaufruf wird adressierungsmodus-unabhängig generiert.
SYNC
Die Verarbeitung von Ausgabedateien kann synchronisiert werden.
Voreinstellung: SYNC=NO
= NO
Die Dateiverarbeitung wird nicht synchronisiert.
= YES
nur in Verbindung mit PARMOD=31 möglich; die Dateiverarbeitung wird synchronisiert, d.h. nach einem RELSE..., SYNC=YES sind alle Daten auf Platte oder Band geschrieben, es steht kein WAIT mehr aus.
Bei Dateien auf Magnetbandkassetten bewirkt RELSE..., SYNC=YES, dass der Gerätepuffer geleert wird und die Daten auf die Magnetbandkassette geschrieben werden.
Hinweise zur Programmierung
Der RELSE-Makroaufruf zerstört die Register 0, 1, 14 und 15.
Ein RELSE-Makroaufruf führt nur dann zu einem SVC, wenn eine Pufferübertragung ausgelöst wird. Der Anwender kann daher nicht erwarten, bei jedem RELSE-Aufruf die Kontrolle in einem STXIT-Prozess zu bekommen (bei Verwendung des STXIT-Makroaufrufs mit SVC= oder SVCLIST=; Näheres siehe Handbuch „Makroaufrufe an den Ablaufteil“ [2]).