On 8/30/2013 3:56 PM, Ward, Mike S wrote:
Hello all, I'm trying to get back into assembler from my old 360 days
and I was reading the POO. In the POO under registers it says that
there are 16 GP registers available to the program. Ok that sounds
good so far, but then it goes on to say that the registers are 64
bits each. Is that true and if it is how can current old assembler
programs work in z/OS when they were written for 32 bit registers.
Save areas and such would have to be twice as large to hold the
registers. Can someone please shed some light on this?

Yes.

If you have old code, it will continue to run as though all the
registers are 32 bits, although Principles of Operation refers to them
as 32-63 (and on entry from the system, the high half will be zero,
making it safe to switch to 64-bit mode). You need to explicitly enable
64-bit mode, and yes, save areas have to be longer; there area several
different formats. If you're just starting out, one easy way to handle
things is to use BAKR at program entry to save status regardless of the
mode you're in, and PR to return to the caller; in this mode system
macros and services will use the caller's save area (if they need one at
all) rather than one you provide.

Gerhard Postpischil
Bradford, Vermont

Reply via email to