I suspect that relocating FOO to be in CSECT SOME would not assemble
either, because it is the value of offset '*' that is not absolute (well
at least not when the source code is still being assembled).
Have you tried assembling this?
SOME CSECT
LLILF 2,FOO
FOO EQU *
OTHER CSECT
On 28/12/2016 03:45, Charles Mills wrote:
> Replying to everyone at once.
>
>> Since they're in different CSECTs, the assembler will need to generate ESD
> and RLD
>> entries since a Binder ORDER statement may muddle any relation between the
> addresses.
>
> Assembler and binder do it all the time. Every instance of EXTRN FOO/DC
> A(FOO)
>
>> But are long displacements relocatable?
>> But can it depend on the target's being within even long displacement
> reach?
>
> No long displacement in the picture.
>
>> Maybe because your CSECT has not a USING for relocatable symbols..
>
> USING applies to base-displacement situations. No base-displacement here.
>
>> If you use an absolute value for an instruction you don't need any
> relocatable value.
>
> Would seem to be a truism, no?
>
> Charles
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] On
> Behalf Of Paul Gilmartin
> Sent: Tuesday, December 27, 2016 5:32 PM
> To: [email protected]
> Subject: Re: ASMA032E Relocatable value or unresolved symbol found when
> absolute value required
>
> On 2016-12-27 18:01, Charles Mills wrote:
>> Why won't this assemble?
>>
>> SOME CSECT
>> LLILF 2,FOO
>> OTHER CSECT
>> FOO EQU *
>>
>> Why do I get ASMA032E Relocatable value or unresolved symbol found
>> when absolute value required - FOO?
>>
>> Can't the assembler generate a relocatable address constant for the
>> immediate operand of LLILF? Or am I doing something stupid that I am
>> not seeing?
>>
> Since they're in different CSECTs, the assembler will need to generate ESD
> and RLD entries since a Binder ORDER statement may muddle any relation
> between the addresses. But are long displacements relocatable?
>
>> DC A(FOO) at the same spot assembles with no problem. I could
>> presumably code DC X'C02F',AL4(FOO) and it would execute correctly.
>>
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
> .
>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN