Mit der Funktion MAP wird ein Fenster definiert. Das Fenster ist ein Bereich in einem Adressraum (Programmraum oder Datenraum), der einem Dateibereich oder einer ganzen Datei zugeordnet ist.
Bei OPEN wird festgelegt, ob eine Fensterseite erst beim ersten Zugriff oder bereits zum MAP-Zeitpunkt in das Fenster eingelesen wird. Über die einzelnen Operanden der Funktion MAP werden Art (Programmraum oder Datenraum), Lage und Größe des virtuellen Adressraums festgelegt.
Mit den Funktionen FCT=*MAP und FCT=*UNMAP des Makros DIV können Fenster für einen Programmraum auf- und abgebaut werden. Für den Operanden SPID (Kennung des Datenraumes) muss stets SPID=0 angegeben werden.
Folgende Regeln sind zu beachten:
Eine Seite eines Adressraums darf nur einem Fenster zugeordnet sein
Eine Dateiseite darf innerhalb der Fenster eines OPEN nur einem Fenster zugeordnet sein.
Eine Dateiseite darf mehreren Fenstern zugeordnet sein, wenn diese verschiedenen OPEN angehören.
Wichtige Operanden bei Fenster-Definition
Operand | Operandenwert | Bedeutung |
FCT | *MAP | Fenster definieren |
SPID | Mit SPID wird die Kennung des Datenraums angegeben, in dem das Fenster angelegt werden soll. | |
AREA | Mit AREA wird die Anfangsadresse des Fensters in einem virtuellen Adressraum (auf 4-KByte-Seitengrenze) angegeben. Eine Seite eines Adressraums darf nur einem Fenster zugeordnet sein. | |
OFFSET | Mit den Operanden OFFSET und SPAN wird der Dateibereich in Einheiten von 4-KB-Seiten (Anfang und Länge) und damit die Größe des Fensters festgelegt. Über die Funktion MAP kann eine Datei physikalisch verlängert werden. | |
DISPOS | Mit DISPOS kann festgelegt werden, welchen Inhalt das Fenster haben soll: | |
*OBJECT | Beim ersten Zugriff auf eine Seite steht die entsprechende Seite der Datei im Fenster. | |
*UNCHNG | Eine Fensterseite wird beim ersten Zugriff nicht durch die ihr entsprechende Dateiseite ersetzt, sondern behält ihren Inhalt (Inhalt des virtuellen Adressraums). |