Skip,
Just a nit (albeit one that could cause huge problems in the program)
CLE 3(R6),=C'IOLQ' will actually compare 6 bytes of data, starting at
location 0, with the value C'IOLQ'. The format for an SS instruction is
instruction offset(length,base),offset(base). To compare 1 byte, you would
need to code CLC 3(,R6),=C'IOLQ'
Wayne Driscoll
Product Developer
Western Metal Supply
NOTE: All opinions are strictly my own.
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Skip Robinson
Sent: Wednesday, October 05, 2005 7:42 PM
To: [email protected]
Subject: Re: JES2 Exit6 - Changing Class= Based on PGM=
For me, the primary reason for coding CLC =C'IOLQ',3(R6) is that the
generated length of a byte instruction, unless it's explicitly coded, is
taken from the first operand. This instruction will compare (correctly, I
presume) four bytes of data because the first operand is four bytes long.
If the operands were simply reversed, the instruction would compare only
one byte of data.: CLC 3(R6),=C'IOLQ'
So why not code CLC 3(4,R6),=C'IOLQ' ? For future maintenance, if it
were determined that the proper string to check for is =C'IOL' , then two
changes would be required: the literal string and the length value in the
first operand. Although it could be argued otherwise, I don't generally see
a good reason for redundantly carrying the same value in two places.
I don't think this is about natural language influence. It's just about
programming convention based on experience.
.
.
.
JO.Skip Robinson
Southern California Edison Company
SHARE MVS Program Co-Manager
626-302-7535 Office
323-715-0595 Mobile
[EMAIL PROTECTED]
IBM Mainframe Discussion List <[email protected]> wrote on 10/05/2005
07:06:22 AM:
> In a recent note, Gerhard Postpischil said:
>
> > Date: Wed, 5 Oct 2005 08:59:02 -0400
> >
> >
> > I'm wondering about a few things, since this does not do what you
> > said you wanted. The code will change a job with any program name
> > beginning with IOLQ (e.g., IOLQTEST, IOLQFAKE). If this is your
> > intent, it would be easier to maintain as
> > CLC =C'IOLQ',3(R6)
> >
> For some reason, it's very customary to code the variable on the left
> and the constant on the right. (Does this arise from word order in
> English sentences? Might it be otherwise for native speakers of other
> languages?) I sometimes work with code by a colleague who prefers the
> opposite convention. Cognitive dissonance.
>
<snip>
> -- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the
archives at http://bama.ua.edu/archives/ibm-main.html
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html