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=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HTML_MESSAGE,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 31196 invoked from network); 11 Jun 2020 14:57:22 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 11 Jun 2020 14:57:22 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 2A747945D6; Fri, 12 Jun 2020 00:57:18 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id B20B6945CC; Fri, 12 Jun 2020 00:56:38 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=bsdimp-com.20150623.gappssmtp.com header.i=@bsdimp-com.20150623.gappssmtp.com header.b="iJ7gh5QF"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id A5C4E945CC; Fri, 12 Jun 2020 00:56:35 +1000 (AEST) Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) by minnie.tuhs.org (Postfix) with ESMTPS id C6CD7945CA for ; Fri, 12 Jun 2020 00:56:34 +1000 (AEST) Received: by mail-qv1-f43.google.com with SMTP id p15so2744836qvr.9 for ; Thu, 11 Jun 2020 07:56:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=oTNvTsqQLBYCDrGGiFR5j+J3XDKJ1peZZLyBDcT4Olc=; b=iJ7gh5QFkWAaZDq6V/PGDk640TacByVAYI2J9cEut2Gw65Cp9kwgt/zWpyICsAlkW6 R/j3TqPngeAYIkDnsvRK3+ZcS1qgStKPnxS2Y3GfYtzyrnEdoXv6I/ZCbXmSYgaLsqyQ q19kHtMp6qLGrkOSIx9FJa8ON9Nwo/Oox4fKEiTgc9scHb1oyXoxzBxSP8PwK1TiCNxc aNiEA0lQSAUtSD9rw2yirRgvPDkidFcrnroI8U3lqUn2CO2f+JtZdFCBtkKEiB2eKC+X ShwmTLwXKqX+7RrlsDO9rT1wLlurF0tK5ENfxo22438anYIGlEKF33i3WSu8RwqKiDLO tQAQ== 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=oTNvTsqQLBYCDrGGiFR5j+J3XDKJ1peZZLyBDcT4Olc=; b=CY0EePQhI0vw7NEeUon1ijgdNj4+u+72Cyw0j707kT377bBVmPAlFS5xIME/yP6x3x 66XHBTRkuGeysyb748Tt9VG1KuM1HU0xmAb8m1ChEFT1xIcvcDudMX6sX8mTJcSsoK34 Q/35f71x3rejH/hVH5SxI8HLwLcieMC3zRN8mELwSZKpbeTlhiwKd5Cxwlbbz8sr2LO3 VirN+PhcPYxA5VKKtezudBuh8Ts+B93JX1sEwE1u+XlzEsgjCa2NZsbdiNyp9rtg/QmO uf74WJWz4JShsxolNIVfH6pjxg/LpblEvsskzRbpOrVGFLUiBzp4Qw6ZVbsx2ZTW7p14 QHJA== X-Gm-Message-State: AOAM5331SPE5wjHtWGNELNGmClXX8yC+vHkydDrR+ikUpnegf96yu6qa D2mEkHMpkiVBm0D2Kw/bkfl3NYEAziYTY6yIHRL+4w== X-Google-Smtp-Source: ABdhPJztGzzSPo+le5BKUUBvHh9WgdtiHSeFXcSX5X5MgmmWW6pSpTN19ujJykRCAgk1X0ZMwNKy6uOl3Hw3r5aUZkk= X-Received: by 2002:a05:6214:17cb:: with SMTP id cu11mr8134808qvb.202.1591887393737; Thu, 11 Jun 2020 07:56:33 -0700 (PDT) MIME-Version: 1.0 References: <9CCCBCA1-DD64-49EA-AD3E-8E2B9C548B99@icloud.com> In-Reply-To: From: Warner Losh Date: Thu, 11 Jun 2020 08:56:22 -0600 Message-ID: To: Clem Cole Content-Type: multipart/alternative; boundary="000000000000a06b5005a7d02ab5" 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" --000000000000a06b5005a7d02ab5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jun 11, 2020 at 7:41 AM Clem Cole wrote: > 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 generat= es > 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's hard to trace. There's one on the UNSW distributions called macro-linkr with file dates from 76 in tuhs/Distributions/UNSW/7/source/macro-linkr (the last few elements in the path are from an extracted tarball). The 2.9 and newer has a m11 command that looks like a macro assembler. 2.79 (from 1980) has a number of lisp source files that are in m11 with Harvard copyrights on them. There's a file called 'macro' that is a binary and another called 'linkr'. The UBC tapes posted here a while ago had rt11 emulators of various flavors (from libraries to trap interception) and those were dated in the 76-80 time frame. These dates seem to line up with the lisp that's on the 77 usenix tape we have, but I've delved no further there since there's no sources. There's also a macro/linker from stanford on the 81 tape... But it says it's from Harvard: >> This directory contains the sources for a version of MACRO assembly language >> for the PDP-11. It produces Version 6 Unix executables that run under .> the compatibility package on the vax. They are essentially unmodified from >> those distributed on the 2nd Unix Users group distribution tape from Harvard. >> The only change was to make dates on listings work beyond 1979. NetBSD, as cool as it is, is about a decade and a half too recent :) The 2.9BSD and newer have the m11 sources, but they are written in m11. I've not seen if apout can be used to compile/assemble them on modern hardware. 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 i= t > 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. > Yea, that's the stuff I talked about in my talks... The files I think are somewhere in tuhs/Applications/Usenix_77, though I've not diving in too deeply there this morning. > Just remember that a big problem with the original code is that it will b= e > 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 ha= ve > 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 a= nd > 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. > The files are in the TUHS archive for the curious, but the github stuff looks like the best place to start... > Have fun. > Definitely. You could spend weeks exploring this area... Warner --000000000000a06b5005a7d02ab5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Thu, Jun 11, 2020 at 7:41 AM Clem = Cole <clemc@ccc.com> wrote:
<= /div>
below..= .

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

Thanks for that. So this would compile on modern machi= nes 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 righ= t?
Yes - the AT&T syntax was much simpler/less sugar than the DEC as= sembler.=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 DEC binary objects (i.e. 'obj' files= ) as well as traditional UNIX a.out format.=C2=A0 =C2=A0The entire tool sui= te was created originally to move code from RT-11 to UNIX at Harvard and pa= ssed around the nascent USENIX community.=C2=A0 =C2=A0IIRC 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 y= ou find.=C2=A0 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=C2=A0use= ld(1) instead of using=C2=A0the DEC style linker that had been included in= the original.

It's h= ard to trace. There's one on the UNSW distributions called macro-linkr = with file dates from 76 in tuhs/Distributions/UNSW/7/source/macro-linkr (th= e last few elements in the path are from an extracted tarball). The 2.9 and= newer has a m11 command that looks like a macro assembler. 2.79 (from 1980= ) has a number of lisp source files that are in m11 with Harvard copyrights= on them. There's a file called 'macro' that is a binary and an= other called 'linkr'. The UBC tapes posted here a while ago had rt1= 1 emulators of various flavors (from libraries to trap interception) and th= ose were dated in the 76-80 time frame. These dates seem to line up with th= e lisp that's on the 77 usenix tape we have, but I've delved no fur= ther there since there's no sources.

There'= ;s also a macro/linker from stanford on the 81 tape... But it says it's= from Harvard:

>> This directory contains th= e sources for a version of MACRO assembly language
>> for the PDP-= 11.=C2=A0 It produces Version 6 Unix executables that run under
.> th= e compatibility package on the vax.=C2=A0 They are essentially unmodified f= rom
>> those distributed on the 2nd Unix Users group distribution = tape from Harvard.
>> The only change was to make dates on listing= s work beyond 1979.

NetBSD, as cool as it is,= =C2=A0 is about a decade and a half too recent :)

= The 2.9BSD and newer have the m11 sources, but they are written in m11. I&#= 39;ve not seen if apout=C2=A0can be used to compile/assemble them on modern= hardware.

It has been >>years<< since I was = really=C2=A0familiar=C2=A0with any of this stuff.=C2=A0 =C2=A0A question ab= out 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=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 ba= ck to the original.=C2=A0 As I said, my memory is that's in the origina= l USENIX Harvard tape.=C2=A0 =C2=A0All that should be Warner's archives= if not other places on the Internet.
Yea, that's the stuff I talked about in my talks... The fi= les I think are somewhere in tuhs/Applications/Usenix_77, though I've n= ot diving in too deeply there this morning.
=C2=A0
Just rememb= er that a big problem with=C2=A0the original code is that it will be writte= n in pre-'White Book' C (that many of us learned years ago=C2=A0 - = not even ANSI of Second edition - this used Lesk's portable C library e= tc.).=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 DE= C Macro RT-11 library to UNIX v6.=C2=A0 In the late 1970s, I remember tjk, = Danny Klein, Tron McConnell and I, plus some of the folks over in the bio-m= ed group (whose names I have forgotten) had to a number assembler codes tha= t had been written for the earlier RT-11 systems to Unix for one of the pro= jects 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= =A0If my memory is correct, early VMS and messing with BLISS compatibility = could have been mixed up in the project somehow, but I've long forgotte= n the details of what we were doing at the time.=C2=A0=C2=A0

The files are in the TUHS archive for t= he curious, but the github stuff looks like the best place to start...
=C2=A0
Have fun.=C2=A0

Definitely. You could spend weeks exploring this area...
<= br>
Warner
--000000000000a06b5005a7d02ab5--