From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,HTML_FONT_LOW_CONTRAST,HTML_MESSAGE, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 8909 invoked from network); 19 Jun 2021 16:34:20 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 19 Jun 2021 16:34:20 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 529529C0CE; Sun, 20 Jun 2021 02:34:18 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id EFBF09BD19; Sun, 20 Jun 2021 02:33:58 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HzZeTxhI"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 9FAB29BD19; Sun, 20 Jun 2021 02:33:56 +1000 (AEST) Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) by minnie.tuhs.org (Postfix) with ESMTPS id 3788F9BD16 for ; Sun, 20 Jun 2021 02:33:56 +1000 (AEST) Received: by mail-pg1-f182.google.com with SMTP id u190so6634298pgd.8 for ; Sat, 19 Jun 2021 09:33:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=0XrfV/ia8ariQslcYTbV4eVkYFl0gPGk9DQmP7TDOAo=; b=HzZeTxhIco+8oTc/ettaPBxZHkMlw+R/Gp5qAQu+Tt2eEmndp6Mlc3ycDYw0+u6o0t 39+pkYHahNnERJTScH6Oltn1/Hvdz0px4fBwNEoWQy228W2toAPnZr/kcM6fWZc+u0Sg pc4xV6D2pgVQEt0N6dlCLgIUgVsy0eRIQTKQ82vhsXjDaGeno2Tdfvr7GcnY1+7QSRTH 98QnMGJa/kTkCMGXc2fBVNOkalWXN6hvt/M+H/2fbEn7F4gIY0Q8o9tH4ayTbYsmBYQT BR7nGe/42JppoTnqhWl42lgLd35c9jIkrwIdqsU13TvJClwY+UHD5dKWH68AuMiADPcH l+mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0XrfV/ia8ariQslcYTbV4eVkYFl0gPGk9DQmP7TDOAo=; b=FJHztt95N+LEYHSXhYcWvirggAE4St8lSBGbZIK68ejLojD4xQOKf0zhzI5Q3wNPgQ 2gyQ6HVsVy9jXK5aMUBbRfWu2GI2NdEsqfLL/tmoWtMCvkpTpwQS25uowJIZhWNquEOw H7udyqGpBJgrF1dlIiB4VRBX6kNJ9a6vUAAfor1euTo6pJjwKhRqJaynRVoG9SyYfHYF Q7DqoueD5+rfNsePx7SFb/X+4+WEIjk4Hk7LS51sz6cwrx0DLNFCxEJlRwdY6tJpE5Rn 45YG5pe4LGXzlRwHm+ICM33C6S6JwgJ1ftEGMnwZpXclCOzf7+8wDuNO6XzA0IrAVHr9 RuWg== X-Gm-Message-State: AOAM532AJyFa4IMFKJxu+a5bKiXzZh+O1+EkHPwVx/yS/rdJxP+UiiMA 20iTWTrbXpUmnGhwoq+TOJnFYt6BWEFJMDPmOeI= X-Google-Smtp-Source: ABdhPJxcJ1CT4VuRWDvcbXgR0BMiF4yub3vmFbcBi7Pl05NIbRQl5JGsdrFixQpgkejv4vIfxZ5RnWitbIySdZNcFik= X-Received: by 2002:a63:d455:: with SMTP id i21mr15771617pgj.263.1624120435592; Sat, 19 Jun 2021 09:33:55 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Henry Bent Date: Sat, 19 Jun 2021 12:33:45 -0400 Message-ID: To: Clem Cole Content-Type: multipart/alternative; boundary="000000000000a2d1d105c521011f" Subject: Re: [TUHS] Disassemblers X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: The Eunuchs Hysterical Society Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --000000000000a2d1d105c521011f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 19 Jun 2021 at 11:54, Clem Cole wrote: > On Sat, Jun 19, 2021 at 11:05 AM Henry Bent > wrote: > >> From what I can gather the only way to reasonably examine the disassembl= y >> 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: Alon= g > 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 Fortra= n > compiler to V6. They used/built up PDP-11 tools to support that project]= . > Wait, so it was easier to write an emulator for a PDP-10 binary than it would have been to port BLISS to the PDP-11? Given the different word sizes I would not have expected that. I'll definitely look at those early USENIX tapes - I have copies of them and I did think of them when I was writing this, but (at least the early ones I looked at) don't appear to have a good index of any sort. Did they have a cover sheet or something equivalent that they came with? I'm having trouble imagining dealing with that much unindexed data on an early system. 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 t= o > 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 to= o > it. > Fascinating. Thank you as always for the insight. -Henry > =E1=90=A7 > --000000000000a2d1d105c521011f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Sat, 19 Jun 2021 at 11:54, Clem Cole &= lt;clemc@ccc.com> wrote:
<= div class=3D"gmail_quote">
On Sat, Jun 19, 2021 at 11:05 AM Henry Bent <henry.r.bent@gmail.com> wro= te:
From what I can gather the only way to reasonably examine the dis= assembly of a program in the early days of Unix was adb.=C2=A0 Is this true= ?
From Research, yes - although sdb and later dbx could do it also = I think.
=C2=A0
Was there a way to easily produce a full = disassembly?=C2=A0
Yes, look at the contents in the=C2=A0early USEN= IX (Harvard) tape.=C2=A0 IIRC: Along with the macro-11 assembler and linker= , there was also=C2=A0a disassembler -- I want to say it was done at=C2=A0C= ooper Union,=C2=A0but it may have been someone=C2=A0else[The CU folks got t= he DEC PDP-10 BLISS binary to run on an emulator 'good enough' on t= heir 11/45 to they could 'port' the DEC Fortran compiler to V6.=C2= =A0 They used/built up PDP-11 tools to support that project].

Wait, so it was easier to write = an emulator for a PDP-10 binary than it would have been to port BLISS to th= e PDP-11?=C2=A0 Given the different word sizes I would not have expected th= at.

I'll definitely look at those early U= SENIX tapes - I have copies of them and I did think of them when I was writ= ing this, but (at least the early ones I looked at) don't appear to hav= e a good index of any sort.=C2=A0 Did they have a cover sheet or something = equivalent that they came with?=C2=A0 I'm having trouble imagining deal= ing with that much unindexed data on an early system.

There was an even better set of assembly/disassembly/link tools=C2=A0= from 'down-under' on ??maybe? the Delaware tape.=C2=A0 Plus, Purdu= e released a ton of microprocessor tools, which included PDP-11 support.=C2= =A0 All of them tried to use the symbol table to reconstruct things like js= r's and memory access.=C2=A0 Somebody [IIRC it was Phil Karn but I don&= #39;t remember] tried to do some instruction pattern matching / early AI st= uff, to see if they could=C2=A0reconstruct some of the code with some human= =C2=A0help.=C2=A0 As I recall he could pick up pointers and if given some h= eader files for sizes would try to match code snippets,=C2=A0but I have no= =C2=A0idea how he=C2=A0got=C2=A0or what happened=C2=A0too it.

Fascinating.=C2=A0 Thank you as = always for the insight.

-Henry
=C2= =A0
3D""=E1=90= =A7
--000000000000a2d1d105c521011f--