Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 5/3/83; site bmcg.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxj!ihnp4!zehntel!dual!amd!decwrl!decvax!ittvax!dcdwest!sdcsvax!bmcg!bprice
From: bprice@bmcg.UUCP
Newsgroups: net.arch
Subject: Re: Global memory usage in the 1401
Message-ID: <1370@bmcg.UUCP>
Date: Fri, 21-Sep-84 16:35:55 EDT
Article-I.D.: bmcg.1370
Posted: Fri Sep 21 16:35:55 1984
Date-Received: Wed, 26-Sep-84 02:33:16 EDT
References: loral.444, <1689@sun.uucp>
Organization: Burroughs Corporation, San Diego
Lines: 39

>Bill Price says:
>> Actually, the designers of the 1401 did something even worse than hiding it:
>> they used this global thing for a very local purpose.  The cell addressed by
>> the address zero was used as the row counter for the card reader!

To which sun!gnu replies:
>This was not especially bad, considering that locations 1-80 of memory
>were permanently reserved for the card reader.  The "read card" instruction
>(opcode "1") would fill locs 1-80 with the contents of the next card in the
>reader.
>101-180 was the area that would get punched if you did a "2" opcode.
>201-332 got printed if you did a "4" opcode.

In context, it was even less annoying, because there was no simple way to use
the value of location zero:  every standard instruction accessed location (n-1)
[or at least generated the address of (n-1)] when reading location n.  Except
for the "clear storage" instruction, underflowing the address register that way
would make the processor stop dead in its tracks with a red light on.  With the
"advanced programming" special feature, you got an instruction you could use to
read that address register, so that the sequence CS 0; SBR x; would store, into
x, the highest address of memory.

Location 100 did not have the (n-1) problem, though.  This was the card-punch
row counter, in which you could usually find a '9'--the code for the last row
punched.

These are just a couple of the many oddities of the 1401.  I'm sure that
sun!gnu would agree that the 1401 was a very interesting and entertaining
architecture:  since it was my first machine, I'm still pretty fond of it.
However, I don't know whether that fondness is because of, or in spite of, the
jokes that the designers played on its users.

Speaking of entertaining machines:  The 1401 had mixed-radix addressing--four
bits binary & three digits BCD.  What machine (series) had three different
radices in its mixed-radix addresses?  (Answer will be given on request)

-- 
--Bill Price    uucp:   {decvax!ucbvax  philabs}!sdcsvax!bmcg!bprice
                arpa:?  sdcsvax!bmcg!bprice@nosc