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