Charles You'll have to take my word for it but that was actually the first manual I looked at also - I'm sure because Internet Explorer still retains the imprint of my having selected that manual and, for the purposes of this bit of research, only that manual. On searching with "PARM" none of the 15 hits looked promising - so I gave up.
I also spotted that Chapter 2 was "Linkage Conventions" which I thought just might have it but none of the sections listed in the "Contents" looked promising - so I gave up again. Well, with the advice that I should concentrate on Chapter 2 and having seen a mention of "PARM" in the text you quote, I became emboldened. I checked the "PARM" hit list and selected "Programs in Primary Mode" - whatever that means - don't bother - I'm sure if I read enough of this chapter I'll find out. So in section 2.8.1, "Program in Primary Mode", we find your text and Figure 2-4, "Primary Mode Parameter List", which, in fact, actually shows the elusive 100 and how register 1 indirectly takes you to all 0-100 characters: http://publibz.boulder.ibm.com/bookmgr/pictures/iea2a660.p1z.gif Incidentally, I checked your text and found it identical - but you started in the middle of a paragraph so it wasn't so easy to spot at first. The first part of the paragraph reads rather oddly - since we're having a go at the author. The sentence immediately preceding your quoted text is most incongruous considering what is about to be described. The first part reads as follows: <quote> For a good example of how your primary mode programs can pass parameters, consider the way the system uses a register to pass information in the PARM field of an EXEC statement to your program. Unlike the parameter list produced for an EXEC statement, a general parameter list can have multiple parameters, there is no system-imposed limitation on the length of any parameter, and no parameter has a system-defined format. Lengths and formats of parameters are defined by the called service. </quote> "Lengths and formats of parameters are defined by the called service." would make more sense if it were replaced by "In general, lengths and formats of parameters are defined by the called service. However, for the case of the PARM field of an EXEC statement, it is clearly the *calling* service." The "asterisked" word would be in italics. I went through the remaining "PARM" hits and verified that this was the only relevant description. The PARM field of an EXEC statement is somewhat curiously used as an *example* of passing parameters in register 1 - supposedly a "good" one amazingly enough - which tends to support my not being bold enough to find it before. Chris Mason ----- Original Message ----- From: "Charles Mills" <[EMAIL PROTECTED]> Newsgroups: bit.listserv.ibm-main To: <[email protected]> Sent: Wednesday, 13 December, 2006 4:18 PM Subject: Re: COBOL compiler options JCL PARM. > > [1] In which manual is this documented these days? > > It's in the Assembler Service Guide, which is where I would expect to find > it (i.e., the first place I looked) Chapter 2, which is the first "real" > chapter. > > Interestingly, they do not mention the 100-character limit, even though this > section deals specifically with jobstep programs (not linkage in general -- > note the references to PARM specifically). Perhaps there IS hope after all: > > "When your program receives control from the system, register 1 contains the > address of a fullword on a fullword boundary in your program's address space > (see Figure 2-4). The high-order bit (bit 0) of this word is set to 1. The > system uses this convention to indicate the last word in a variable-length > parameter list. Bits 1-31 of the fullword contain the address of a two-byte > length field on a halfword boundary. The length field contains a binary > count of the number of bytes in the PARM field, which immediately follows > the length field. If the PARM field was omitted in the EXEC statement, the > count is set to zero. To prevent possible errors, always use the count as a > length attribute in acquiring the information in the PARM field." > > BTW, the use of "field" in the above is incorrect and should probably read > "parameter" (although "PARM parameter" does sound funny and that may be why > the writer avoided it). The JCL reference uses "field" to mean the major > "areas" of JCL statements: the parameter field, the comments field, etc. > > Charles > > -----Original Message----- > From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf > Of Chris Mason > Sent: Tuesday, December 12, 2006 10:32 PM > To: [email protected] > Subject: Re: COBOL compiler options JCL PARM. > > Charles > > <snip> > > Which is a slightly complicated way of saying that, by the time the > program - any program - takes a look at the characters supplied by the EXEC > statement PARM operand addressed indirectly by register 1[1], there will > never be more that 100 of them. This is Paul's "JCL limit". > > [1] In which manual is this documented these days? ---------------------------------------------------------------------- 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

