Pure speculation on my part:

There are some systems or software components that require that on all calls
(even when the number of parameters is fixed) the last parameter address has
the high order bit set. I recall GDDM, where this was the case.

When I wanted to call GDDM routines from PASCAL/VS (in the 80s), this was a nightmare. The GDDM routines complained, because PASCAL/VS did not set the high order bit
on the last parameter address.

I had to generate ASSEMBLER interfaces in between to insert the high order bit at the appropriate position - that is: for every GDDM call there had to be a short ASSEMBLER stub that knew the number of parameters and inserted the high order
bit at the proper position.

Maybe the first word in PLITDLI has exactly the same purpose.

Kind regards

Bernd



Am 11.04.2012 00:19, schrieb Frank Swarbrick:
I don't know if this is relevant, but I was looking at the PL/I DL/I (IMS) 
interface (PLITDLI) and noticed that they actually have to pass, as the first 
parameter, a fullword containing the remaining number of items!  Crazy!

For example, in COBOL you say:

call 'CBLTDLI' using ghnp, pcb-mask, i-o-area, ssa-1 ssa-2.

In PL/I it looks like you'd do something like this:
call PLITDLI (five, ghnp, pcb-mask, i-o-area, ssa-1 ssa-2);

See here for more details:
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.ims11.doc.apg%2Fims_imsdbpliapp.htm

I was pretty happy about what I learned about PL/I until I saw this.  Yuck!

Frank



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

Reply via email to