It's funny, I just recently looked into what the TRKADDR macro was doing,
and found TRKADDR COMPARE uses a different set of instructions when
SYSSTATE AMODE64=YES is set; which is silly, as it merely uses -G
instructions instead of 32-bit ones (even funnier, it uses RLL, which is
considerably newer than G regs).  So even IBM doesn't keep it straight all
the time.

Wait, there's more:  I added the SYSSTATE to get the slightly better
TRKADDR code, and then PUT got all huffy and whined that *it* doesn't
support AMODE 64!  Sheesh...  I'd have thought they'd just check that in
the QSAM routines, but I guess it's traditional that they just S0C4 when
something isn't right.

sas

On Tue, May 5, 2015 at 9:48 AM, Steve Smith <[email protected]> wrote:

> It's important to keep the concepts of 64-bit registers separate from
> 64-bit addressing.  The former supports that latter, but there are many
> capabilities and benefits of 64-bit registers that have nothing to do with
> addressing.  Most -G instructions work the same in any addressing mode.  A
> few instructions (LA & cousins in particular) are modal, and do operate
> differently depending on AMODE.
>
> Chapter 1 of of Principles of Operation, particularly the "Trimodal
> Addressing" section, covers this fairly well.
>
> sas
>
> On Tue, May 5, 2015 at 9:36 AM, Brite <
> [email protected]> wrote:
>
>> I compared to the performance of same programs before they were converted
>> to 64-bit. How do those 64-bit instructions (e.g. LGR, STMG, LMG) work in
>> 31-bit AMODE? This is the first I have to deal with 64-bit mode.
>>
>
>
>
> --
> sas
>



-- 
sas

Reply via email to