Keith,

Most of what you are asking for is already available using AFI, ALFI, CFI,
CLFI, LHI, LLILF, NOLF, OILF, and XILF.

It is not necessary to save anything in a GBLx array.

It is just necessary to use the new instructions.

I have raised the same issue on the z/VSE side.  We need to have the system
macros updated to make use of the machine instructions available in the
minimum supported hardware architecture level for that release of the
operating system.

And yes, I know that doing so will create an issue for ISVs in that code
assembled for operating system level n+1 may not run on operating system
level n.

So be it.  I can live with that.

John P. Baker

-----Original Message-----
From: IBM Mainframe Assembler List [mailto:assembler-l...@listserv.uga.edu]
On Behalf Of Keith E. Moe
Sent: Sunday, August 22, 2010 5:34 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Suggestion for System Macros

One of my pet peeves about many system macros is that some of them generate
inline constants which they have to branch around.  This not
only generates an extra branch instruction which, while being unconditional,
it's not a major slowdown in the pipeline, it means that the cache
line has to be in both the instruction and data caches, even in reentrant
code.

I would like to see a system macro option that would cause these macros the
save their "inline constants" in a GBLC array.  This array would
be used by a system "constant dump" macro which would generate the DCs for
the accumulated constants.  I'm not looking for the HLASM to
generate them automatically like literals (many macros are now using
literals anyway), but changes to the existing macros to do this.

And, yes, if the user fails to code the "dump" macro or codes it where there
is no addressability, I expect assembly errors.


Keith E. Moe
MAINVIEW for z/OS Support
BMC Software, Inc.

Reply via email to