Allgemeines
Anwendungsgebiet: | XS-Programmierung; siehe "XS-Programmierung" |
Makrotyp: | O-Typ; siehe "O-Typ-Makroaufrufe" |
Es kann ein 24-Bit-Adressierungsmodus oder ein 31-Bit-Adressierungsmodus (AMO-DE=24/31) vereinbart werden. Oberhalb der 16MB-Grenze muss ein Programm im 31-Bit-Adressierungsmodus ablaufen.
Die Makros, deren Schnittstellen noch kein 31-Bit-Format hatten, wurden um die 31-Bit-Schnittstelle erweitert. Die alte Schnittstelle wird als 24-Bit-Schnittstelle bezeichnet.
Datenbereiche und Befehle für die 24-Bit-Schnittstelle benutzen 24-Bit-Adressen und 31-Bit-Adressen für die 31-Bit-Schnittstelle. Die 31-Bit-Schnittstelle kann auch im 24-Bit-Adressierungsmodus benutzt werden. Die Adressen im Datenbereich werden in diesem Fall als 24-Bit-Adressen interpretiert (linksbündiges Byte wird nicht ausgewertet).
Makrobeschreibung
Mit dem Makro GPARMOD wird der globalen Assemblervariablen &SYSMOD bei der Programmübersetzung der Wert 24 oder 31 zugewiesen. &SYSMOD wird bei der Generierung der Makros ausgewertet, die sowohl eine 24-Bit- als auch eine 31-Bit-Schnittstelle generieren können und in deren Makroaufruf der Operand PARMOD nicht spezifiziert wurde. Je nach Angabe für &SYSMOD wird für die nachfolgenden Makros die 24-Bit- oder die 31-Bit-Schnittstelle generiert. Die Angabe für den Operanden PARMOD im jeweiligen Makroaufruf hat bei der Makrogenerierung Vorrang vor &SYSMOD.
Makroaufrufformat und Operandenbeschreibung
GPARMOD |
[24 / 31] |
24
Für die nachfolgenden Makros wird die 24-Bit-Schnittstelle generiert. Datenlisten und Befehle benutzen 24-Bit-Adressen (Adressraum <= 16 MB).
31
Für die nachfolgenden Makros wird die 31-Bit-Schnittstelle generiert. Datenlisten und Befehle benutzen 31-Bit-Adressen (Adressraum <= 2 GB).
Beispiele
MAK1, MAK2 und MAK3 bezeichnen Makros, die sowohl eine 24-Bit- als auch eine 31-Bit-Schnittstelle generieren können.
: : GPARMOD 31 ----------------------------------------------------------(1) MAK1 op1, ..., op4 MAK2 op1, op2, op3 MAK3 op1, ..., op7 : : : : GPARMOD 24 ----------------------------------------------------------(2) MAK1 op1, ..., op4 MAK2 op1, ..., PARMOD=31 MAK3 op1, ..., op7 : : : : GPARMOD 31 ----------------------------------------------------------(3) MAK1 op1, ..., PARMOD=24 MAK2 op1, ..., PARMOD=24 MAK3 op1, ..., op7 : :
(1) | &SYSMOD wird auf 31 gesetzt. Da die nachfolgenden Makros den Operanden PARMOD nicht spezifiziert haben, wird für jeden Makro die 31-Bit-Schnittstelle generiert. |
(2) | &SYSMOD wird auf 24 gesetzt. Für MAK1 und MAK3 wird die 24-Bit-Schnittstelle generiert; für MAK2 die 31-Bit-Schnittstelle. |
(3) | &SYSMOD wird auf 31 gesetzt. Für MAK1 und MAK2 wird entsprechend der Angabe für PARMOD die 24-Bit-Schnittstelle generiert; für MAK3 entsprechend &SYS-MOD die 31-Bit-Schnittstelle. |