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.