On 11/30/2010 7:43 PM, Gerhard Adam wrote:
How would you branch to code above the 2GB bar, since none is allowed there?
You can use an ordinary branch instruction (e.g., BASSM 14,15) to branch to code
above the bar. If you're running enabled, you won't execute for long... :-D
The obvious problem being how you would even get it loaded up there.
Of course, a program can use MVCL to copy some self-relocating executable code
to an area above the bar. It is also possible to load certain program objects
above the bar using ordinary operating system services:
<MVS Program Management: User's Guide and Reference>
2.4.2 Residence mode
...
RMODE(64) RMODE(64) is treated as RMODE(ANY) for module loading and
execution, with the exception of data class C_WSA64, which can
be loaded above the 2-gigabyte bar. The map in the binder
listing and ESD records obtained from program objects through
the binder API (for example, by the AMBLIST service aid) will
show the original RMODE.
Note: ESD records input to the binder may be marked as RMODE
64, but RMODE(64) cannot be specified as a binder option.
</MVS Program Management: User's Guide and Reference>
--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
310-338-0400 x318
[email protected]
http://www.phoenixsoftware.com/
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html