I've been going through some of my manuals, and in
looking at the
Macro-11 manuals it looks as if they're pretty much written with the
intention of being used with any of the DEC OS's. Is Macro-11 pretty
much the same across the various platforms or what?
If so, what makes a program written in Macro-11 a RT-11
program instead
of a RSX-11M program other, than the way that it is linked?
Let me answer the second question first, since it will be part of the
answer for the first question.
Each of the PDP-11 OSes have programmed requests/system calls/whatever,
which perform the operations for the user which are specific to that
OS.
A pure MACRO-11 program might have nothing in it which ties it to
a given OS.
But generally, programs are written for a specific OS, since you'll
probably want to do I/O or get certain info from the OS itself.
For example, RT-11 has programmed requests. These are EMTs which,
when executed, cause entry to the OS, which expects the arguments
for the function to be structured in a certain way and located in
certain places (for example the stack).
The various calls like .DATE, .READC, .MRKT, etc... are actually
macros which are defined in some sort of system macro definition
file, which is automatically included during the assembly process.
For RT-11, this is the file SYSMAC.SML, located on the system
volume, SY: In later releases of RT, there was also a much more
complete structure definition file, SYSTEM.MLB, which could be used
to reliably define structures used by RT-11.
RSX and RSTS have their own set of macros defined which expand into
code which ultimately execute and EMT, which is processed in a certain
way by those OSes.
Now, given that answer -- MACRO-11 is conditionalized in such a way that
it can be built to issue those calls appropriate for the system you are
building it for. MACRO-11 on RT-11 issues RT-11 programmed requests
to read from the source file and write to the object file. MACRO-11 on
RSX-11 issues RSX-11 system calls, etc...
The heart of MACRO is the same regardless of which system, but the
peripheral routines do what is appropriate for the given OS, and they
are governed by conditionals.
Megan Gentry
Former RT-11 Developer
*Former MACRO-11 maintainer*
+--------------------------------+-------------------------------------+
| Megan Gentry, EMT/B, PP-ASEL | Internet (work):
gentry!zk3.dec.com |
| Unix Support Engineering Group | (home):
mbg!world.std.com |
| Compaq Computer Corporation | addresses need '@' in place of '!' |
| 110 Spitbrook Rd. ZK03-2/T43 | URL:
http://world.std.com/~mbg/ |
| Nashua, NH 03062 | "pdp-11 programmer - some assembler |
| (603) 884 1055 | required." - mbg |
+--------------------------------+-------------------------------------+