On Wed, 14 Jan 2015 08:00:40 -0600, Donald Likens <[email protected]>
wrote:
>>AMODE 64 routines should be using relative branch and generally should
>>establish addressability to a static data area (such as where LTORG might
>>be), often done by a LARL instruction.
>>
>>Peter Relson
>>z/OS Core Technology Design
>
>
>Is there a document that documents the above? I want to see if there is
>anything else I didn't know about AMODE 64 coding.
See, for example, the ATTACH macro in the Assembler Services Reference.
<quote>
5.1.8 Parameters
The parameters are explained as follows:
...
Register Contents
0 Used as a work register by the system.
1 Address of the user parameter list if specified on either the PARAM
or MF=E parameters; otherwise, contains whatever GPR 1 contained
at the time the ATTACH macro was issued.
2-12 Used as work registers by the system.
13 Address of a standard save area.
14 Return address. Bit 0 is 0 if the subtask routine gets control in 24-bit
addressing mode; bit 0 is 1 if the subtask routine gets control in 31-bit
addressing mode.
15 When the subtask routine is to run in 24-bit or 31-bit addressing mode, the
entry point address of the subtask routine. When the subtask routine is to run
in 64-bit addressing mode, it is expected to use relative branching and
register 15 contains a value that can be used to determine the addressing mode
of the issuer of the ATTACH or ATTACHX macro as follows:
Issuer AMODE 24: X'FFFFF000'
Issuer AMODE 31: X'FFFFF002'
Issuer AMODE 64: X'FFFFF004'
</quote>
--
Tom Marchant
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN