On 7/15/24 15:39, John Levine wrote:
It appears that Douglas McIlroy
<douglas.mcilroy(a)dartmouth.edu> said:
In 1959, ...
We never considered anything but recursive expansion, where macro
definitions can contain macro calls; thus the TX-0 model comes as quite a
surprise. We kept a modest stack of the state of each active macro
expansion. We certainly did not foresee that within a few years some
applications would need a 70-level stack!
As the PDP-1 Macro imeplementation manual said about the macro feature:
It is the weakest
in that it is quite inflexible and does not incorporate any of the more significant
improvements
in assembler technology that have occurred since the logic was first written in
1957.
The PDP-1 was not a very big machine, only 4K words and the only
standard I/O device was paper tape, so no overlays or multiple passes.
I can imagine that while they knew how to write a better macro
processor, they didn't want to use up the memory it would have needed.
Bitsavers has a bunch of memos about the TX-0.
Memo 39 describes TX-0 assembler as of 1962, which had real macros
that could insert arbitrary strings, as they show in an example on
pages 10-11.
https://bitsavers.org/pdf/mit/tx-0/memos/M-5001-39_MIDAS_Nov62.pdf
There are earlier memos about MACRO in 1959 and 1961 which suggest a weaker
macro facility but don't have details.
R's,
John
At MIT they wrote two assemblers on the TX-0, and retargeted/ported both
of them to the PDP-1. (The machines were in adjacent rooms at the
time. Their architectures were very similar.)
* MACRO (macro expansion by limited partly-assembed memory words). DEC
adopted MACRO, but its later MACRO assemblers do not seem to be at all
based on that one.
* Midas (generalized macro expansion by inserting a character
sequence). MIT chose Midas for future work, and they rewrote it for the
PDP-6, so that's what you find on ITS.
One of these retargets/ports was a challenge by Jack Dennis to a group
of 4 or 5 students (the original hackers from the Tech Model Railroad
Club) to do it over a weekend.
I agree, there is a lot of great stuff in these memos, from both MIT and
from DEC, and in the oral histories done by the Computer History Museum
and/or the Smithsonian.
Bitsavers also has the hardware details, although they are in a very old
notation, more abbreviated circuit schematics than logic diagrams..
- Aron