my-server
← Wiki

MACRO-11

MACRO-11 is an assembly language with macro facilities, designed for PDP-11 minicomputer family from Digital Equipment Corporation (DEC). It is the successor to Program Assembler Loader (PAL-11R), an earlier version of the PDP-11 assembly language without macro facilities.

MACRO-11 was supported on all DEC PDP-11 operating systems. PDP-11 Unix systems also include an assembler (named as), structurally similar to MACRO-11, but with different syntax and fewer features. The MACRO-11 assembler (and programs created by it) could also run under the RSX-11 compatibility mode of OpenVMS on VAX.

(The stated date in the summary is wrong. I was programming a PDP 11/34 in Macro-11 under DOS/BATCH in 1974)

Programming example

A complete "Hello, World!" program in PDP-11 macro assembler, to run under RT-11:

The <code>.MCALL</code> pseudo-op warns the assembler that the code will be using the <code>.TTYOUT</code> and <code>.EXIT</code> macros. The <code>.TTYOUT</code> and <code>.EXIT</code> macros are defined in the standard system macro library to expand to the <code>EMT</code> instructions to call the RT-11 monitor to perform the requested functions.

If this file is , the RT-11 commands to assemble, link and run (with console output shown) are as follows:

(The RT-11 command prompt is "<code>.</code>")

For a more complicated example of MACRO-11 code, two examples chosen at random are Kevin Murrell's KPUN.MAC, or Farba Research's JULIAN routine. More extensive libraries of PDP-11 code can be found in the Metalab freeware and Trailing Edge archives.

References

External links