- $CADDR (required by $MODULE)
- $HASPEQU (required by $MODULE)
- $HCCT (required by $MODULE)
- $MIT (required by $MODULE)
- $PADDR (required by $MODULE)
- $PSV (required by $MODULE)
- $USERCBS (required by $MODULE)
The following programming considerations describe some specific
requirements for coding your exit routine:
- Naming and Identifying an Exit Routine
You must begin each
exit routine with the JES2 $ENTRY macro, which you use to name the
routine and to identify it to JES2.
For more information, see “Packaging
Exit Routines” later in this topic.
Note that you have flexibility in naming
your exit routines, under standard labeling conventions except for
Exit 0 (see the description of Exit 0 in IBM-defined exits for
more detail).
- Exit Addressability
The $ENTRY macro is also used
to generate a USING statement for your exit routine. The BASE= operand
is used to specify the register or registers which provide addressability
when the exit routine gets control. However, the $ENTRY macro does
not load the base register.
- Source Module Conventions
The construction of a source module
must follow certain conventions depending on how you intend to package
the exit routine. Through these conventions, JES2 is able to locate
both exit routines and exit points within a module.
- Security
When deciding
on whether to implement a specific exit routine, you should consider
whether installing a security product with your other system software
could satisfy your requirements. You should also consider the affect
an exit routine could have in terms of your installation's security
policy. Your security auditing may be inaccurate if you change security
information in a control block in an exit that occurs after access
to a resource has already been granted without additional validation.
Similarly, changes made to security information by an exit that occurs
before validation, could cause the validation to fail.
- DBCS Assembly Option
DBCS (Double-byte Character Set) is an
option that may be invoked when doing assemblies. DBCS is a means
of providing support for languages which contain too many symbols
to be represented by a single byte character set such as EBCDIC.
JES2 supports the High-Level Assembler DBCS option for JES2 exit routines.
All JES2 macros integral in a customer's JES2 exit will abide by
DBCS option rules, including the continuation line logic. JES2 macros
will not have the same characters specified in both columns 71 and
72. This would be interpreted as a special DBCS continuation character.
IBM® does
not support the DBCS option for reassembly of its modules.