> 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

Reply via email to