Copyright © 1973 J. Forecast
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 implementation of ML/I contains all the features described in the ML/I User's Manual, 4th Edition, August 1970, plus New Features 1 to 4 as described in supplements to that Manual.
ML/I is supplied as a binary tape which must be loaded with the binary loader. The start and restart addresses are:
0 0 0200
ML/I reads source text from the high speed reader and outputs to the
high speed punch. The end of the input should be marked with a
Ctrl-D character. If the input consists of several tapes, all but
the last should be terminated with a
Ctrl-L character. This will
cause the PDP-8 to halt and when another tape has been placed
in the reader, pressing <CONTINUE> will resume processing.
The full PDP-8 8-bit character set is accepted with the exception of blanks and rubouts which are ignored and the two characters described in Section M.2 which are also ignored.
Error messages are always produced on the console teletype.
The number 2N of section 6 of the ML/I User's Manual is 60.
The initial environment contains ten permanent variables. These are not pre-set to any particular values. All integers in, or derived from, macro expressions should be less than 2048 in magnitude. Overflow is never detected.
The multiply and divide operations are not available within macro expressions and cause the error message:
ILLEGAL USE OF MULTIPLY OR DIVIDE OPERATOR
and return zero as their result.
The following are the layout keywords for this implementation:
|meaning a space.
|meaning a newline.
|meaning a tab.
|meaning the imaginary startline character.
|meaning a sequence of one or more spaces.
This implementation contains 12 S-variables. S-variables
above are used as follows: