>>  You can increment R10 by +2 at run time...

That is exactly what I *am* doing (and nearly everybody on this list
rejected) and is what I am calling "re-basing" because, in scripting mode,
the 3rd parameter block being passed (and subsequent) has two more bytes on
the beginning than the legacy parameter block previously being passed.
Thus, to reuse the legacy code, the base address for the parameter block
has to be incremented by 2 in order to line up the parameter block with
what the legacy code expects.

So, what would you call it when the base address for a parameter block
(coming from the R1 parameter list) has to be adjusted to form a new base
address to satisfy two different parameter blocks (one legacy and the other
for scripting)?  That sounds like re-basing, to me, regardless of
definition.

Sincerely,
Dave Clark


On Tue, Feb 17, 2026 at 8:48 PM Jon Perryman <[email protected]> wrote:

> On Tue, 17 Feb 2026 16:50:08 -0500, David Clark <[email protected]>
> wrote:
>
> >>>  These 2 USINGs can be active for the whole program and it will work
> >
> >No, it won't work because the address in R10 has to be different (by +2
> >bytes) between scripting mode and legacy mode.
>
> You can increment R10 by +2 at run time or you can increment the using by
> +2 during assembly (e.g. USING B,A+2). I suspect that decrement is allowed
> if you don't access unaddressable  fields.
>
> You're fixated on your perception of your problem and ignoring several
> methods that we use to make code reusable. By telling us your field names,
> you falsely believe we will get some clues. Re-base is not a definable
> word. Instructions are base reg and offset. Those are well defined during
> assembly and not at run time.
>
> Tell us a few of the instructions that need to be reusable and what makes
> them incompatible.
>

Reply via email to