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..
p.s. That was too sweeping of a statement. For the machines built by
MIT, I found block diagrams and some instruction flows and lots of
memos, but not the clock distribution matrix details. Since the WW
clock distribution matrix (ROM) triggered Wilkes' invention of
microprogramming, I'd love to compare WW's with their later machines'.
And I haven't found more than a little on Wes Clark's later machines,
L-1 and ARC-1. I know some info is in the U. Wash. archives. So many
curiosities, so little time. :-)
Best,
- Aron