[Unix-jun72] Semi-OT: Other systems to reconstruct?

Doug Merritt doug at remarque.org
Sat Jun 7 11:49:02 AEST 2008

I appreciate the constructive suggestions, and they may well
be helpful to someone on the list, but as for what I'm doing,
I *started* with a working disassembler. As you point out,
there's no shortage of pdp 11 disassemblers.

Thing is, it's quite rare for disassemblers to even bother
to begin to try to produce output very similar to the original

An easy example is that they had a mnemonic BES (Branch if
Error Set), which is simply a synonym for BCS (Branch if Carry
Set), but used upon return from system calls that set carry
to indicate error. It wasn't too hard for me to add automatic
disassembly of BES under the stated circumstances, but I would
be surprised if other pdp11 disassemblers did so.

There's a fairly long list of such issues, of varying difficulty.
Handling jsr r5 (which embeds non-executable parameter data right
in the midst of executable instructions, with no clear indication
of where it ends) is one of the few such that *some* disassemblers
out there *might* have tackled, perhaps.

Producing "temporary labels" was my big headache (although I
think I figured it out and would have finished that a while back
if it weren't for other demands on my time).

My goal is to emit assembler code that can be used as a high
quality replacement for lost assembly source code, with an
absolute minimum of post-disassembly hand-massaging by humans.

If anyone wants quick and dirty disassembly for some reason,
sure, it's easily available, go for it. (BTW the stuff I'm working
with isn't "a.out" format; the early stuff is just raw machine

Two other places to get pdp11 disassembler are the debuggers
db and adb, and also v5/v6 "od", IIRC.

P.S. I visited Google today and walked past Ken's office, but
although he was in, I didn't have time to stop and pester him. :-)
Professional Wild-eyed Visionary        Member, Crusaders for a Better Tomorrow

More information about the TUHS mailing list