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@xxxxxxxxxxxx [mailto:mi400-bounces@xxxxxxxxxxxx] 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@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/mi400
or email: MI400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at
http://archive.midrange.com/mi400.
As an Amazon Associate we earn from qualifying purchases.