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,HTML_MESSAGE,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23283 invoked from network); 11 Jun 2020 13:41:34 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 11 Jun 2020 13:41:34 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 552C6945D5; Thu, 11 Jun 2020 23:41:28 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 9A3C2945CC; Thu, 11 Jun 2020 23:41:01 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (1024-bit key; unprotected) header.d=ccc.com header.i=@ccc.com header.b="CH6VbOsn"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 6BB0C945CC; Thu, 11 Jun 2020 23:40:58 +1000 (AEST) Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) by minnie.tuhs.org (Postfix) with ESMTPS id F054B945CA for ; Thu, 11 Jun 2020 23:40:57 +1000 (AEST) Received: by mail-qt1-f180.google.com with SMTP id u17so4558144qtq.1 for ; Thu, 11 Jun 2020 06:40:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccc.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=CL/VHEBmjoIXsMS3UG+/DrdhzzyzUxz/z5DMcJ4mUjI=; b=CH6VbOsniHyst33u/AtAtZY+sBCjFR2fsijl7Qsl2yBhnZhUz/c5yfZGLP0lmHDxWA XgXL7ufuTZAiKjtw5UuIlQCRTKIC2PhcIFnsk5ybptxJm1gRnah+ro8LGeDQLSulUu85 6BaREGHb25VpLOGrHw4vOdrae9CfARFYAbBGc= 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=CL/VHEBmjoIXsMS3UG+/DrdhzzyzUxz/z5DMcJ4mUjI=; b=FWUvxF9UTqaZQIVuEgmBwJoVXIONhU3uxG2alBgwxjBh7dB/d6RemBX5M20D6RY6Nl CKm8NvBqgWlJ2ymA+PJCOfhCwijmy6BBPlKbF6oIu75hN9NNryZDxbFydG9yGopCBp4K XaXHr5qvAOrRczqGpI2QnZnUjiTJSR9yNCyzjO7jQbOe/OUqSH1BY3Yg65FBI5UpG7l9 M5I8MRr5qubQPCpVGfKPfANhodoZbgZ3Ltmy9MrFK1ama69SWvnkXEWrpsbl62AQ1pP0 OR+4m7/+cwIx5jjKAnjU1mNgJjtYRqz6WIUbF1F7QyOdoi4rWYwBPWdSaj/g2WLGw2Vc 1Agg== X-Gm-Message-State: AOAM532aMW3siq1zmhf8LZuj0ubExexHJz5XgtboC/mGAixdui9k3kjO p7QNR+B0zDx/rld2pE6/FV9gCCo3y0hNfWTvyK08t06PVfg= X-Google-Smtp-Source: ABdhPJywUQJuIRzDvUSkIZ8vi6ntYvTo4+ud+RlpsKANUgrAR2/dH40MjFzP2s9DYScUCWyBRGbeNcpPBvHZLvxVz9M= X-Received: by 2002:ac8:4088:: with SMTP id p8mr8538383qtl.119.1591882856846; Thu, 11 Jun 2020 06:40:56 -0700 (PDT) MIME-Version: 1.0 References: <9CCCBCA1-DD64-49EA-AD3E-8E2B9C548B99@icloud.com> In-Reply-To: <9CCCBCA1-DD64-49EA-AD3E-8E2B9C548B99@icloud.com> From: Clem Cole Date: Thu, 11 Jun 2020 09:40:30 -0400 Message-ID: To: Paul Riley Content-Type: multipart/alternative; boundary="00000000000034f5ca05a7cf1ce8" Subject: Re: [TUHS] Unix V6: Assembler Listings 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: tuhs Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --00000000000034f5ca05a7cf1ce8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable below... On Thu, Jun 11, 2020 at 9:04 AM Paul Riley wrote: > Clem, > > Thanks for that. So this would compile on modern machines to a cross > compiler for V6 also running on a modern machine? I note you say macro11, > so not a Unix =E2=80=9Cas=E2=80=9D style syntax, is that right? > Yes - the AT&T syntax was much simpler/less sugar than the DEC assembler. But the differences are pretty easy to see. IIRC that assembler generates DEC style linker objects and there is a companion linker that can create DEC binary objects (*i.e.* 'obj' files) as well as traditional UNIX a.out format. The entire tool suite was created originally to move code from RT-11 to UNIX at Harvard and passed around the nascent USENIX community. IIRC that version was forked from a BSD 2.x/NetBSD source repository and folks were adding some fields/features in the DEC obj format that RSX supported that RT-11 did not. Go hunting and see what you find. My memory was that with the BSD 2.x project, somebody added a DEC obj to UNIX binary (a.out) converter tool, so that you could use ld(1) instead of using the DEC style linker that had been included in the original. It has been >>years<< since I was really familiar with any of this stuff. A question about it came up last fall/winter on the simh mailing listing, which is where I found the the URL. FWIW: I offered the modern port, assuming you might want to run some of it as a cross-systems on a newer OS with a modern compiler. But if you are content running this on V6, then you might just want to go back to the original. As I said, my memory is that's in the original USENIX Harvard tape. All that should be Warner's archives if not other places on the Internet. Just remember that a big problem with the original code is that it will be written in pre-'White Book' C (that many of us learned years ago - not even ANSI of Second edition - this used Lesk's portable C library etc.). It sometimes looks a little strange to modern eyes. Also if you go looking, IIRC, someone at Harvard ported the DEC Macro RT-11 library to UNIX v6. In the late 1970s, I remember tjk, Danny Klein, Tron McConnell and I, plus some of the folks over in the bio-med group (whose names I have forgotten) had to a number assembler codes that had been written for the earlier RT-11 systems to Unix for one of the projects we had. Some of it got re-written in C, but I do remember we managed to use the Harvard assembler somehow for parts of it. If my memory is correct, early VMS and messing with BLISS compatibility could have been mixed up in the project somehow, but I've long forgotten the details of what we were doing at the time. Have fun. --00000000000034f5ca05a7cf1ce8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
below...

On Thu, Jun 11, 2020 at = 9:04 AM Paul Riley <pdr0663@icloud= .com> wrote:
Clem,

Thanks for that. So this wou= ld compile on modern machines to a cross compiler for V6 also running on a = modern machine? I note you say macro11, so not a Unix =E2=80=9Cas=E2=80=9D = style syntax, is that right?
Yes - the AT&T = syntax was much simpler/less sugar than the DEC assembler.=C2=A0 =C2=A0But = the differences are pretty easy to see.=C2=A0 IIRC that assembler generates= DEC style linker objects and there is a companion linker that can create D= EC binary objects (i.e. 'obj' files) as well as traditional = UNIX a.out format.=C2=A0 =C2=A0The entire tool suite was created originally= to move code from RT-11 to UNIX at Harvard and passed around the nascent U= SENIX community.=C2=A0 =C2=A0IIRC that version was forked from a BSD 2.x/Ne= tBSD source repository and folks were adding some fields/features in the DE= C obj format that RSX supported that RT-11 did not.

Go= hunting and see what you find.=C2=A0 My memory was that with the BSD 2.x p= roject, somebody added a DEC obj to UNIX binary (a.out) converter tool, so = that you could=C2=A0use ld(1) instead of using=C2=A0the DEC style linker th= at had been included in the original.

It has been >= >years<< since I was really=C2=A0familiar=C2=A0with any of this st= uff.=C2=A0 =C2=A0A question about it came up last fall/winter on the simh m= ailing listing, which is where I found the the URL.

FW= IW: I offered the modern port, assuming you might want to run some of it as= a cross-systems=C2=A0on a newer OS with a modern compiler.=C2=A0 =C2=A0But= if you are content running this on V6, then you might=C2=A0just want to go= back to the original.=C2=A0 As I said, my memory is that's in the orig= inal USENIX Harvard tape.=C2=A0 =C2=A0All that should be Warner's archi= ves if not other places on the Internet.

Just remember= that a big problem with=C2=A0the original code is that it will be written = in pre-'White Book' C (that many of us learned years ago=C2=A0 - no= t even ANSI of Second edition - this used Lesk's portable C library etc= .).=C2=A0 =C2=A0It sometimes=C2=A0looks a little strange to modern eyes.=C2= =A0 Also if you go looking,=C2=A0 IIRC, someone at Harvard ported the DEC M= acro RT-11 library to UNIX v6.=C2=A0 In the late 1970s, I remember tjk, Dan= ny Klein, Tron McConnell and I, plus some of the folks over in the bio-med = group (whose names I have forgotten) had to a number assembler codes that h= ad been written for the earlier RT-11 systems to Unix for one of the projec= ts we had.=C2=A0 Some of it got=C2=A0re-written in C, but I do remember we = managed to use the Harvard assembler somehow for parts of it.=C2=A0 =C2=A0I= f my memory is correct, early VMS and messing with BLISS compatibility coul= d have been mixed up in the project somehow, but I've long forgotten th= e details of what we were doing at the time.=C2=A0=C2=A0

=
Have fun.=C2=A0
--00000000000034f5ca05a7cf1ce8--