Is the IBM Assembler List still alive

2023-09-01 Thread Robert Raicer

Hi folks;

It's been several months since I've received anything from
the IBM Assembler List Server.  The last I knew, the list server
e-mail address was: assembler-l...@listserv.uga.edu

Is this still correct?
Are any of you still getting e-mails from that list server?

Thanks for the help!

Bob Raicer

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCL EXEC PARM= default?

2023-04-13 Thread Robert Raicer

I am rather late adding to the topic discussion, so, apologies if my
information is essentially redundant.

The z/OS MVS JCL Reference contains the prose shown below regarding
the PARM parameter of the JCL EXEC PGM statement.  Yes, in order to
understand the details you need to look at the referenced
publication (z/OS MVS Programming:  Assembler Services Guide).

When the module specified as the operand of the PGM= parameter is
entered, GPR 1 contains the address of a 32-bit (fullword) pointer
aligned on a fullword boundary.

The low order 31-bits of this pointer contain the address of a
16-bit (halfword) binary unsigned integer "length" field aligned on
a halfword boundary which is not also a fullword boundary.
Immediately following the 16-bit length field is the text of the
operand of the PARM parameter.  The length field describes the true
length of the PARM text.  Thus, a length field value of zero
indicates no PARM text is present.

If the PARM parameter is effectively not present on the JCL EXEC PGM
statement the length field is zero.  This is the "default" value.

The length field is also zero when the PARM parameter is present and
its operand is an empty string, e.g., PARM=''.

This overall PARM data organization has been unchanged since
the introduction of OS/360 (many moons ago!).

There are a few things about this PARM convention which are not
clearly documented (at least, not clear to me).

.  The content of GPR 1 at entry to the PGM= module.

   I believe that regardless of the AMODE of the PGM= module, only
   the low order 32 bits (the "low" half of the 64-bit GPR) of GPR 1
   are valid and, further, the high order 8 bits of the low half of
   GPR 1 are all zero.  In other words, the area referenced by GPR 1
   resides in 24-bit addressable storage.

.  The pointer pointed to by GPR 1 at entry to the PGM= module.

   I believe that regardless of the AMODE of the PGM= module, only
   the low order 31 bits of this pointer value are valid.  The high
   order bit of this 32-bit pointer is '1'.  An AMODE 64 PGM= module
   must be set this bit to zero prior to its usage to reference
   storage (this is clearly documented).

   The area referenced by this 31-bit pointer value resides in
   24-bit addressable storage (this is not clearly documented).



Extraction from:

z/OS Version 2 Release 3
MVS JCL Reference

SA23-1385-30
Logical page 323, physical page 371.

PARM Parameter

Parameter Type:

Keyword, optional

Purpose:

Use the PARM parameter to pass variable information to the
processing program executed by this job step.  To use the
information, the processing program must contain instructions to
retrieve the information.

References:

For details on the format of the passed information and its
retrieval, see z/OS MVS Programming:  Assembler Services Guide.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN