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.

>... 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?

If the programmer is so rash as to define an ENTRY point with an odd
address, Bad Things can happen.

>There are still situations where LA is appropriate.
>
>There is no need to change every Branch instruction to Branch 
>Relative (Jump) in order to start using relative instructions. If you 
>are changing an existing program you can code any new branches 
>as branch relative, except for the situation where you want to use 
>an indexed branch.
> 
A compiler can make the choice of format to use to minimize I-fetch
bandwidth.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to