× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2021 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.