From mboxrd@z Thu Jan 1 00:00:00 1970 From: doug@remarque.org (Doug Merritt) Date: Fri, 6 Jun 2008 18:49:02 -0700 (PDT) Subject: [Unix-jun72] Semi-OT: Other systems to reconstruct? In-Reply-To: <20080606143701.1b52d130@veda.cnb.uam.es> Message-ID: <20080607014902.E05A05A522@remarque.org> 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 input. 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 code.) 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. :-) Doug -- Professional Wild-eyed Visionary Member, Crusaders for a Better Tomorrow