Permission is granted to copy and/or modify this document for private use only. Machine readable versions must not be placed on public web sites or FTP sites, or otherwise made generally accessible in an electronic form. Instead, please provide a link to the original document on the official ML/I web site.
This document describes the implementation dependent features of ML/I on the IBM 370/165.
This implementation of ML/I contains all the features described in the ML/I User's Manual, 4th Edition, August 1970, plus New Features 1 and 2 as described in the supplements to that manual (startlines and stop markers).
ML/I is normally run using the catalogued procedure MLI
, as
described in the URM. Input is taken from a DD
statement name FROM
, and output is sent to TO
.
Messages are sent to SYSPRINT
, and an input listing (if
requested) to LIST
. Options are given in the PARM
field,
set up as symbolic parameter OPT
in the catalogued procedure.
Input may be in F
, FB
, V
, or VB
format.
Concatenation of unlike datasets is supported. The input routine
truncates trailing spaces from input records unless the TRAIL
option is set. There are no illegal input characters. Upper and lower
case letters are considered as distinct. However, the logic of ML/I
requires that three characters be set aside to represent "newline",
"stopcode" and "startline". These have been assigned to X'15' (NL),
X'37' (EOT) and X'0D' (CR) respectively. The newline character is
appended to every record by the input routine, the stopcode character is
generated when the end of input is reached, and the startline character
is inserted at the start of each record when in startline mode. The
appearance of any of these characters within the input will cause
curious effects.
Output may be in F
, FB
, V
, or VB
format.
The DCB parameters RECFM
, LRECL
, BLKSIZE
are copied from the input if not supplied except in the case of
unblocked output, when LRECL
is set equal to BLKSIZE
or
BLKSIZE-4
(as appropriate) if not supplied. A new output record
is started when the "newline" character is encountered (the newline
character itself is removed) or if the current record becomes full.
Incomplete fixed length records are padded with spaces. The
"startline" character is ignored when in startline mode.
If the option SOURCE
is on, a line-numbered listing of the first
123 bytes of each input record, or the whole record (whichever is the
shorter) is output to a dataset described by a DD
statement named
LIST
.
Information and error messages are sent to SYSPRINT
. If the
option PRENV
is on, a print-out of the current environment is
added at the end of processing.
The procedure specifies a region size of 50K by means of the parameter
REG1
. The code of ML/I is about 16K bytes long. The rest of the
region is used for access methods, I/O buffers, and the ML/I stack.
Increasing the region size increases the amount of core available for
the stack, and enables more complicated macro structures to be
evaluated.
P1
to P50
).
There are fifty system variables (S1
to S50
) in the
environment. They are used for controlling the action of ML/I as
follows:
S1
S2
S3-S50
The layout keyword TAB
is not supported.