Multiple labelled USINGs are often what I want and, IMHO, a lablled dependent 
USING would be appropriate for what the OP wants. Of course, he would also need 
to qualify the refereneces subject to that USING.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Tony Harminc [t...@harminc.com]
Sent: Sunday, April 3, 2022 11:43 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Weird location counter

On Sun, 3 Apr 2022 at 15:02, João Reginato <jb.regin...@gmail.com> wrote:

> Hi guys
> Take a look in these pieces of code compiled in z/OS V2R4: (use any
> proportional font like courier for better understanding)
>
> 000BCC D2A5 D100 8B94 00100 02B94  2107          MVC
> WKINFO(LINFO/2),LKINFO  INITIALIZE DYNALLOC
> 000BD2 D2A5 D1A6 8C3A 001A6 02C3A  2108          MVC
> WKINFO+(LINFO/2)(LINFO/2),LKINFO+(LINFO/2)
>                D 100  02B94 00100  2109          USING LKINFO,WKINFO
> ** ASMA303W Multiple address resolutions may result from this USING and
> the USING on statement number 781


Multiple USINGs are not *wrong*, but they're rarely what you want.

I think your dependent USING has its operands reversed. What you've done is
not inherently wrong, but it's unlikely to be doing what you meant.

You are telling the assembler that the first operand can be addressed using
the address supplied by the second operand, e.g. in an ordinary USING you
would typically have

USING dsectname,Rn

For a dependent USING, instead of specifying a register directly, you
supply as the second operand a name that can already be resolved with an
existing USING, and this must eventually lead to a register+offset. But you
are supplying a name within WKAREA that will be resolved using R13 (as
shown by the Active USINGs). And what is it that you are saying you will
want resolved by this USING? It's a portion of your CSECT space starting at
+2B94.

Tony H.

Reply via email to