ML/I User's Manual --- Appendix M --- Implementation on PDP-8


Node:Top, Next:, Up:(dir)

ML/I User's Manual -- Appendix M

This implementation is based on version AIC of ML/I.

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.


Node:Restrictions and Additions, Next:, Previous:Top, Up:Top

M.1 Restrictions and Additions

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.


Node:Operating instructions, Next:, Previous:Restrictions and Additions, Up:Top

M.2 Operating instructions and I/O

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.


Node:Character set, Next:, Previous:Operating instructions, Up:Top

M.3 Character set

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.


Node:Error messages, Next:, Previous:Character set, Up:Top

M.4 Error messages

Error messages are always produced on the console teletype.

The number 2N of section 6 of the ML/I User's Manual is 60.


Node:Integer calculations, Next:, Previous:Error messages, Up:Top

M.5 Integer calculations

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.


Node:Layout keywords, Next:, Previous:Integer calculations, Up:Top

M.6 Layout keywords

The following are the layout keywords for this implementation:

SPACE meaning a space.
NL meaning a newline.
TAB meaning a tab.
SL meaning the imaginary startline character.
SPACES meaning a sequence of one or more spaces.


Node:S-variables, Previous:Layout keywords, Up:Top

M.7 S-variables

This implementation contains 12 S-variables. S-variables S10 and above are used as follows:

S10
Output switch. If non-zero, output text is suppressed.