On Sat, Jun 19, 2021 at 11:05 AM Henry Bent <henry.r.bent(a)gmail.com> wrote:
From what I can gather the only way to reasonably
examine the disassembly
of a program in the early days of Unix was adb. Is this true?
From Research, yes - although sdb and later dbx could do it also I think.
Was there a way to easily produce a full disassembly?
Yes, look at the contents in the early USENIX (Harvard) tape. IIRC: Along
with the macro-11 assembler and linker, there was also a disassembler -- I
want to say it was done at Cooper Union, but it may have been
someone else[The CU folks got the DEC PDP-10 BLISS binary to run on an
emulator 'good enough' on their 11/45 to they could 'port' the DEC
Fortran
compiler to V6. They used/built up PDP-11 tools to support that project].
BTW: there was a version of the DEC DDT that was on those early tapes too
that somebody wrote. I started with DDT on V6 because I was coming over
from the DEC OS world of PDP-10's and RT-11 and adb did not yet exist.
But IIRC it was fragile, had issues when V7 came out, so I just taught
myself adb when it appeared.
There was an even better set of assembly/disassembly/link tools from
'down-under' on ??maybe? the Delaware tape. Plus, Purdue released a ton of
microprocessor tools, which included PDP-11 support. All of them tried to
use the symbol table to reconstruct things like jsr's and memory access.
Somebody [IIRC it was Phil Karn but I don't remember] tried to do some
instruction pattern matching / early AI stuff, to see if they
could reconstruct some of the code with some human help. As I recall he
could pick up pointers and if given some header files for sizes would try
to match code snippets, but I have no idea how he got or what happened too
it.
I'll confess to being fairly ignorant of adb use
since I always had dbx or
the equivalent available.
ᐧ