> On Mon, 4 Apr 2022 at 15:45, João Reginato <jb.regin...@gmail.com> wrote:
> >
> > Thank you all for the comments.
> > What I'm trying to do is simply to map a dynamic data area (WKINFO) using
> a static one (LKINFO).
> >
> > Any references to data after LKINFO will be in fact referencing the dynamic
> area after WKINFO instead.
> I'm still convinced that your USING operands are backwards.
> 
> You have USING LKINFO,WKINFO
> but would it make any sense to write
> USING R2,WKINFO ? What you have done is to tell the assembelr how to
> address symbols starting at LKINFO using the addressibility it already
> has to WKINFO via R13. This is not fundamentally wrong, but I'm sure
> it's not what you want to accomplish.

I want to repeat the same area in another place without rewrite all the fields 
individually.
And don't spend a register for USING.

> > I wonder why "USING area,map" accepts a data area as "map" but the
> DROP only accepts a register.
> You want "USING map,area". Same as you'd write USING CVT,R3 or the
> like. Yes, you *can* use mappings that are not in a DSECT, but again,
> I'm pretty sure it's not what you want to do.
> Why can't you DROP with the name from the second operand of USING?
> Because there's potential ambiguity - you can have multiple USINGs
> covering the same area. Which one do you wnat to drop?

I've tried "DROP LKINFO" and "DROP WKINFO". Both gets "** ASMA029E Incorrect 
register specification".
I've just discovered that if I use "LKUSING USING LKINFO,WKINFO" I can use 
"DROP LKUSING" instead.
It solved all the references after the DROP as I wanted.

> > And it worked fine until that point inside the PATCH_AREA where the base
> register was suddenly changed from 8 to 13.
> > I have many other similar samples working properly as I expected. But they
> are less complexes and smaller too.
> > The error is being caused because the corresponding DROP is missing and I
> don't know how to drop it.
> I don't think this is your problem.

Yes it is. Even the "LY R15,=V(FDRCOMP)" is getting a wrong address and I 
wonder what will be loaded here.
0017CE E320 D07C 0058       02B10  3468+         LY    R2,=V(FDRCOMPR)   
It is using D07C instead of R8 as the base register.

> Regardless, you can always use a labelled USING (which can also be
> dependent or not) just so you can unambiguously DROP it.

Now I know how.

> > I think the simplest solution is using a register instead of a data area to 
> > map
> it.
> No - just fix your dependent USING.

Now I know how.

> > And also why LKINFO is being shown as a negative offset in
> "LKINFO(X'FFFFE56C'),R13+X'2A94'" once it is defined inside the main CSECT
> addressed by R8 and not in the DSECT addressed by R13.
> Because you told the assembler it could address LKINFO using the
> existing addressibility to WKINFO via R13.

I had a wrong concept for this kind of USING.
 
> > It should be R8+X'2A94'.
> > And again why X'FFFFE56C' (the same as -X'1A94')?
> > I don't know if I was clear enough.
> If you would make your *entire* listing available, not skipping over
> the parts you think are unimportant, and including all macro
> expansions and no PRINT OFFs or NOGENs, I'm sure people will look
> harder at it. Perhaps make it available on a website or something
> rather than inline and wrapped.

There is no need anymore. But how? Using attachments?
There is a limit of 250 lines in this list.

> Tony H.

Thank you Tony
Regards
João

Reply via email to