On Tue, 21 Oct 2014 08:49:26 -0500, Paul Gilmartin wrote:

>On Tue, 21 Oct 2014 07:30:32 -0500, Tom Marchant wrote:
>>
>>If you have an assembler called program, you don't need to issue SAM31 before 
>>returning as long as you were called with one of BASSM, BASR or BALR. In all 
>>of 
>>these cases the return register (R14) contains sufficient information so that 
>>BSM will return correctly.
>> 
>How does the content of R14 distinguish between the cases:
>
>o Caller in AMODE 24
>
>o Caller in AMODE 64; Return Address < 16MiB?
>
>And, even, between:
>
>o Caller in AMODE 31
>
>o Caller in AMODE 64; 6GiB <= Return Address < 8GiB?

I stand corrected. BALR and BASR do not set bit 63 of the return register if in 
AMODE 64, so what I wrote earlier applies only to AMODE 24 or 31 callers using 
those instructions. BASSM always provides the correct information for BSM to 
correctly return to the calling program.

-- 
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to