Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

USE-REGISTER Registerverwendung für Disassemblierung festlegen

&pagelevel(5)&pagelevel

Mit der Anweisung USE-REGISTER wird für die disassemblierte Ausgabe festgelegt, dass in dem angegebenen Modul ein bestimmtes Register als Basis für einen Bereich des Moduls bzw. für einen bestimmten Kontrollblock (DSECT) angenommen werden soll. Dies hat zur Folge, dass in der Befehlsaufbereitung die Operanden nicht mehr mit Basis und Distanz angegeben werden, sondern als relative Distanz innerhalb des Moduls bzw. über den Feldnamen aus dem zugehörigen Kontrollblock.
Die disassemblierte Ausgabe für x86-Code wird von der Anweisung USE-REGISTER und der korrespondierenden Anweisung DROP-REGISTER nicht unterstützt. Es können keine x86-Register angegeben werden.

Format

USE-REGISTER

MODULE-NAME = <text 1..32>

,REGISTER = <integer 0..15>

,FOR = *MODULE-BASE(...) / *CONTROL-BLOCK(...)


*MODULE-BASE(...)



|

DISPLACEMENT = 0 /<integer -2147483648..2147483647> / <x-string 1..8>


*CONTROL-BLOCK(...)



|

NAME = <structured-name 1..32> / <name 1..32 with-under>

Operandenbeschreibung

MODULE-NAME = <name 1..32>
Bezeichnet den Namen des Moduls, innerhalb dessen die Vereinbarung für die disassemblierte Ausgabe gelten soll.

REGISTER = <integer 0..15>
Bezeichnet das /390-Mehrzweckregister, das als Basisregister verwendet werden soll.

FOR = *MODULE-BASE(...)
Das Register soll Basisregister für den angegebenen Modul sein.

DISPLACEMENT = 0 / <integer -2147483648..2147483647> / <x-string 1..8>
Bezeichnet innerhalb des angegebenen Moduls die relative Anfangsadresse des Bereiches, für den das Register als Basis verwendet werden soll.

FOR = *CONTROL-BLOCK(...)
Das Register soll Basisregister für einen Kontrollblock sein.

NAME = <structured-name 1..32> / <name 1..32 with-under>
Gibt den Namen des Kontrollblocks an, für den das Register als Basis dienen soll. 

Beispiele

USE-REGISTER MODULE-NAME=DOPEN, REGISTER=10, FOR=*MODULE-BASE(DISPLACEMENT=X'1000')
USE-REGISTER MODULE=DCLOSE, REG=4, FOR=*CONTROL-BLOCK(NAME=EXVT)