Exit Conventions - mfx - 3.1

Syncsort™ MFX Programmers Guide

Product type
Software
Portfolio
Integrate
Product family
Syncsort™ Software
Product
Syncsort™ MFX > MFX
Version
3.1
Language
English
Content type
Programmer’s Guide
Product name
Syncsort™ MFX
Title
Syncsort™ MFX Programmers Guide
Topic type
How Do I
Copyright
2024
First publish date
2010
Last edition
2024-08-27
Last publish date
2024-08-27T08:14:56.318001

The following conventions must be observed when using exits.

  • Exits provided via the MODS control statement will be entered in the addressing mode indicated by the linkage editor module attributes. Any exit linkage-edited by MFX will be entered in 24-bit addressing mode, except a separately linkage-edited exit E11, E21, or E31, which will be entered in the mode set by the compiler or assembler when the module was compiled or assembled.

  • Exit addresses provided via the 24-bit invoking   parameter list format will be entered in the 24-bit address mode.

  • Exit addresses provided via the 31-bit invoking parameter list will be entered in the address mode indicated in the exit address field. That is, if bit 0 of the exit address is 0, the exit is entered in 24-bit mode; if bit 0 of the exit address is 1, the exit is entered in 31-bit mode.

  • Exit addresses provided via the 64-bit parameter list will be entered in the addressing mode indicated by the flag bytes in the parameter list.

  • User exits may return to the sort in either 24- or 31-bit   address mode.

  • If an exit was entered in 24-bit address mode using a 32-bit exit parameter list, the addresses passed to it will be 24-bit values that have a clean high-order byte containing binary zeros (X'00'). Addresses returned to the sort must also be 24-bit values with a high-order byte containing X'00' even though the exit could return to the sort in the 31-bit mode.

  • An exit entered in the 31-bit addressing mode using a 32-bit exit parameter list may return an address containing a full 31-bit value. Users intending to pass only a 24-bit address must therefore make sure that the address returned has X'00' in the high-order byte. Failure to do so can have unpredictable results. Note that certain addresses within parameter lists are still explicitly restricted to 24-bit values. For example, E18 exit return parameter lists must consist of fullword entries that are 1-byte codes and 3-byte addresses.

  • An exit that was called by MFX with a 64-bit parameter list may return a 64-bit record address. If such exits intend to pass only a 31-bit or 24-bit address back to MFX, they should ensure that the high order bits of the 64-bit Register 1 are zeros. This applies regardless of the addressing mode in which the exit was called.