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 >
