Re: QPROCT and QPRODT

"Richard Thomas" <richard_matthew_thomas-/[email protected]> Fri, 30 Apr 2010 14:54:08 +0100
Newsgroups gmane.comp.lang.as400.mi
Message-ID <[email protected]>
You chaps are probably aware of this already, but I never knew that you can
use ANY Branch/indicator Keyword from an eligible Keyword Group for an
op-code and QPRCRTPG doesn't care.

One of the resultant conditions for the ADDN(I) or ADDN(B) op-code is POS
(as I'm sure you're aware!)

Branch/indicator keyword POS belongs to Group 1 - as do HI, MXD, NOR, POS,
TR and ZC.

To my surprise, the following compiled successfully:

DCL DD MYVAR PKD(1,0) INIT(P'0');
DCL DD INDICATOR CHAR(1);
ADDN(IS) MYVAR,1 /POS(INDICATOR);
ADDN(IS) MYVAR,1 /HI(INDICATOR);
ADDN(IS) MYVAR,1 /MXD(INDICATOR);
ADDN(IS) MYVAR,1 /NOR(INDICATOR);
ADDN(IS) MYVAR,1 /TR(INDICATOR);
ADDN(IS) MYVAR,1 /ZC(INDICATOR);
PEND;

I guess QPRCRTPG is only interested in the Keyword Group that a
Branch/Indicator Keyword belongs to, and whether that Keyword Group is
applicable for the associated op-code - not the Keyword value itself.

Apologies if I'm teaching my Grandmother to suck eggs etc.

Richard

-----Original Message-----
From: mi400-bounces-Zwy7GipZuJhWk0Htik3J/[email protected] [mailto:mi400-bounces-Zwy7GipZuJhWk0Htik3J/[email protected]] On
Behalf Of Richard Thomas
Sent: 30 April 2010 11:20
To: 'MI Programming on the AS400 / iSeries'
Subject: Re: [MI400] QPROCT and QPRODT

Some sort of progress on deciphering the CHAR(2) "resulting condition
information" in the Body section you described Simon:

Body section:
	CHAR(8)	op-code name
	CHAR(2)	op-code number
	CHAR(3)	flags
		CHAR(1)	optional instruction forms
		CHAR(2)	possibly resulting condition information

Per the Information Centre, branch and indicator keywords are divided into
four groups:
Group 1
HI MXD NOR POS TR ZC 
Group 2 
CR DEN IGN LO NEG NTZNTC RO 
Group 3 
AUTH DFR DQ EQ INF SE SGN ZER ZNTC 
Group 4 
EC NAN NTZC UNEQ UNOR

The first byte appears to indicate which groups are valid for the op-code:
Bit 0:	Group 1
Bit 1:	Group 2
Bit 3:	Group 3
Bit 6:	Group 4

The corresponding bits in the second byte appear to denote whether the
condition can be negated. This would explain why the second byte is
b'00000000' for the SIGEXCP op-code as keywords IGN and DFR cannot be
negated.

Best wishes,

Richard



_______________________________________________
This is the MI Programming on the AS400 / iSeries (MI400) mailing list
To post a message email: MI400-Zwy7GipZuJhWk0Htik3J/[email protected]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/mi400
or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/mi400.



_______________________________________________
This is the MI Programming on the AS400 / iSeries (MI400) mailing list
To post a message email: MI400-Zwy7GipZuJhWk0Htik3J/[email protected]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/mi400
or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/mi400.