ICM Rx,B'1111',FULLWORD will tell you if all 4 bytes in FULLWORD contain zero. If, however, you need to test if FULLWORD contains a 31-bit address that may be zero, then you must consider the effect of having the X'80000000' bit on and/or off. The part of ICM that tests for a zero result does not understand that the first byte it tests might be the first byte of a 31-bit address, and it tests all 8 bits. So you cannot use only one ICM instruction if you need to check for a 31-bit address of all zeroes. This bit me once, so I remember it real good. If the fullword is being used to contain a 31-bit address and bit 0 of the fullword represents the addressing mode, then the 31-bit address will be all zeroes and it will be treated as a 31-bit address of all zeroes. If the bit is off, then the 31-bit address of all zeroes might really be only a 24-bit address of all zeroes -- depending on how the address is used for branching purposes.
Bill Fairchild Rocket Software -----Original Message----- From: IBM Mainframe Assembler List [mailto:[email protected]] On Behalf Of Binyamin Dissen Sent: Friday, August 13, 2010 7:29 AM To: [email protected] Subject: Re: Parameter passing: overly cautious or properly paranoid? On Fri, 13 Aug 2010 09:17:17 +0200 Martin Trübner <[email protected]> wrote: :>>> Look up NILH :>This is not a good replacement for N. :>From POPS: :>Programming Note: The setting of the condition :>code is based only on the bits that are ANDed and :>replaced. I thought that you were trying to clean the top bit/byte. -- Binyamin Dissen <[email protected]> http://www.dissensoftware.com Director, Dissen Software, Bar & Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies.
