Yes, as I said, if it's on the CPU...we do of course as an ISV have to confront 
this issue, but we've just gone on to requiring an architecture that is less 
than ca. 5 years old (Z10), which includes GIEF. At some point it seems 
sensible to use these new hardware features, after all, IBM introduced them in 
order that they be used, one has to assume. And JG should be pleased. Time will 
tell whether this was a good decision. Otoh at the moment we are not going 
through all our code adopting slightly more efficient instructions and in fact 
I've never used RISB(H)G (or similar). (Or LHLR, if one likes to use assembler 
opcodes).

-----Ursprüngliche Nachricht-----
Von: Bob Raicer [mailto:[email protected]]
Gesendet: Donnerstag, 27. Juni 2013 19:02
An: David Stokes
Betreff: Re: how to: document usage of bit(s) of a register.

RISBG or RISBGN would be peachy keen, but the instruction is not
available on many classes of z-architecture machines.  RLLG, on the
other hand, is present on all z-architecture machines (it's been
there since the introduction of z-architecture).  Those of us who
work on the development of program products generally have to code
to older architecture levels for the obvious reasons.

The original question was actually about nomenclature (principally
for use in comments) to describe bit positions of registers or
storage operands involved in the operation being performed.  But
the coding example provided in the original post was incorrect and
the comments didn't actually describe what was being performed (or
intended to be performed).

Bob

On 2013-06-27 08:12 AM, David Stokes wrote:
> Hmm, what about RISBG R0,R13,0,31,32 -  since someone brought up these 
> instructions? Assuming it's on the CPU of course. Should impress other 
> programmers no end.
> I missed the start of the thread so I'm not sure what the original issue was.
>
> -----Ursprüngliche Nachricht-----
> Von: IBM Mainframe Assembler List [mailto:[email protected]] Im 
> Auftrag von Bob Raicer
> Gesendet: Donnerstag, 27. Juni 2013 15:47
> An: [email protected]
> Betreff: Re: how to: document usage of bit(s) of a register.
>
> If what you're really trying to do is to copy the low order 32 bits of GPR 13 
> into the high order 32 bits of GPR 0, while leaving the low order
> 32 bits of GPR 0 unchanged, then the following I-stream will do the job.
>
>
>          RLLG  R0,R0,32(0)              Exchange the high order and
> *                                       low order 32 bits of GPR 0.
> *
>          LR    R0,R13                   Copy the low order 32 bits
> *                                       of GPR 13 into the low
> *                                       order 32 bits of GPR 0.
> *
>          RLLG  R0,R0,32(0)              Exchange the high order and
> *                                       low order 32 bits of GPR 0.
> *
> *                                       The high order 32 bits of
> *                                       GPR 0 now contain a copy of
> *                                       the low order 32 bits of
> *                                       GPR 13.
> *
> *                                       The low order 32 bits of
> *                                       GPR 0 are what they were
> *                                       prior to the first RLLG.
>
> Bob
>

Reply via email to