> I believe that you can have a relative branch to a symbol in another > CSECT that is resolved at binder time.
You can but you need the enhanced object code format to do that. GOFF? Some such thing. >If the programmer is so rash as to define an ENTRY point with an odd >address, Bad Things can happen. I am pretty certain HLASM will let you do that, and there is nothing inherently wrong with that. It is not a Bad Thing. (Arguably bad programming style, but not bad technology if you will). Instructions of course cannot be on an odd boundary, so an instruction-type entry point also cannot. That is an instruction issue. An entry can be odd, provided it is a variable or constant. AFAIK HLASM fully supports. I once played with absolute entry points, but I have forgotten the outcome. The idea was that a "parameter" or customization type module might contain BUFFLEN EQU 5000/ENTRY BUFFLEN. Then in a functional module one might code L R0,=A(BUFFLEN)/GETMAIN ... Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Tom Marchant Sent: Thursday, November 15, 2018 1:43 PM To: [email protected] Subject: Re: ASMA034E On Thu, 15 Nov 2018 13:21:01 -0600, Paul Gilmartin wrote: >On Thu, 15 Nov 2018 12:38:05 -0600, Tom Marchant wrote: > >>On Thu, 15 Nov 2018 08:33:55 -0800, Charles Mills wrote: >> >>>LARL is also very cool. It is like LA without a base register. >> >>Agreed. One thing to be aware of with LARL. It uses a signed >>halfword that is added to the current PSW address. As a result >>it cannot be used to get the address of an odd address. ... >> >I believe the stumbling block is not the signedness but that the >displacement is multiplied by 2 in order to double the reach. Right. The fact that it is signed allows references forward or backward. I neglected to say that the signed offset is in halfwords, and so it is multiplied by 2. Thanks for the correction. > >>... Nor can it be used to get an address in a DSECT, or in a CSECT that >>is not part of the same load module. >> >The requires using the result from STORAGE; the latter a V-constant. > >Is Binder nowadays savvy to RL displacements to honor RLD entries? I believe that you can have a relative branch to a symbol in another CSECT that is resolved at binder time. I'm not sure if that is what you mean. I haven't used it, so I'm not writing this from experience. >If the programmer is so rash as to define an ENTRY point with an odd >address, Bad Things can happen. I don't think that HLASM will allow you to do that. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
