Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: gah4 Newsgroups: comp.compilers Subject: Re: C arithmetic, was Software proofs, was Are there different Date: Thu, 9 Feb 2023 00:26:11 -0800 (PST) Organization: Compilers Central Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <23-02-035@comp.compilers> References: <23-01-092@comp.compilers> <23-02-003@comp.compilers> <23-02-019@comp.compilers> <23-02-025@comp.compilers> <23-02-026@comp.compilers> <23-02-029@comp.compilers> <23-02-032@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="43799"; mail-complaints-to="abuse@iecc.com" Keywords: C, history, comment Posted-Date: 10 Feb 2023 13:15:39 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <23-02-032@comp.compilers> Xref: csiph.com comp.compilers:3376 On Wednesday, February 8, 2023 at 8:48:23 AM UTC-8, gah4 wrote: (snip) > Well, I have been wondering for years when we get a C compiler > for the 7090 so we can test out sign-magnitude integers. > I think the 7090 does 16 bit integers, at least that is what > its Fortran compilers did, stored in 36 bit words. (snip) > [The 704x/709x series did 36 bit sign-magnitude arithmetic. Fortran > integers were limited to 15 bits plus a sign, probably because that > was the size of addresses, and they expected integer arithmetic to > be used only for counting and subscripts. In 709 Fortran II they > expanded them to 17 bits, in 7090 Fortran IV they were finally a > full word. -John] OK, so 7090 C can use all 36 bits. When we get one. I just remembered that the S/360 emulation to develop OS/360 was done on the 7090. 36 bits would help! It was the 15 bit integers on the 704 that gave us five digit statement numbers in Fortran, originally 1 to 32767, and (not much) later extended to 99999. And over 60 years later, we still have 99999. But also, the 704 Fortran, and I believe still the 7090, indexes arrays from the end of memory toward the beginning. [It did because for reasons I have never been able to figure out, the 70x series subtracted rather than added the contents of an index register to get the effective address. -John]