Addressing and residence modes for user exits
To allow user exits called by Blockset or Peerage/Vale to reside
above or below 16MB virtual, and use either 24-bit,
31-bit or 64-bit addressing, DFSORT supplies these features:
- To ensure that DFSORT enters your user exit with the correct addressing
mode, you must observe these rules:
- If the user exit name is specified in a MODS control statement, the user exit is entered with the addressing mode indicated by the linkage editor attributes of the routine (for example, 31-bit addressing in effect if AMODE 31 is specified).
- If the address of the exit is passed to DFSORT (preloaded exit) via the 24-bit list, the user exit is entered with 24-bit addressing in effect.
- If the address of the user exit is passed to DFSORT via the extended parameter list (preloaded exit), the user exit is entered with 24-bit addressing in effect if bit 0 of the user exit address in the list is 0 or with 31-bit addressing in effect if bit 0 of the user exit address in the list is 1.
- If the address of the user exit is passed to DFSORT
via the 64-bit parameter list (preloaded exit), the user exit is entered
with the addressing mode in effect as specified by the appropriate
flag in byte 8 or 9 of the parameter list as follows:
Table 1. Addressing Mode Flags for Exits in 64-bit Parameter List Byte Bit Meaning when on 8 0 Enter E15 or E32 in AMODE 24 1 Enter E15 or E32 in AMODE 31 2 Enter E15 or E32 in AMODE 64 3 Enter E35 in AMODE 24 4 Enter E35 in AMODE 31 5 Enter E35 in AMODE 64 6 Enter E18 in AMODE 24 7 Enter E18 in AMODE 31 9 1 Enter E39 in AMODE 24 2 Enter E39 in AMODE 31
- User exits can return to DFSORT with either 24-bit, 31-bit, or 64-bit addressing in effect. The return address
that DFSORT placed in register 14 must be used.Note: For a conventional merge or tape work data set sort application, user exits:
- must reside below 16MB virtual
- must use 24-bit addressing mode
- must not use a user exit address constant.