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.

Reply via email to