You’re right about the 7090. As an extra “feature” when you indexed by two of the three index registers, not only did it OR them for the address, but it permanently modified both registers with the resulting OR. The array of lights were (rarely) used to display messages on the 7094.
On Jun 8, 2017, at 11:06 AM, Mike Speciner <ms@alum.mit.edu> wrote:
As I remember, the 7090 had only 3 index registers. It was the 7094 that had 7, and the extra registers were displayed in lights in a rectangular [physical] array of lights attached above the top of the 7090 console. But maybe I'm imagining things--it's been a few years.
Also, the 650, the first computer I ever used, displayed its registers in biquinary with some kind of nixie tubes.
And the LGP-30, the computer my high school acquired, and whose chief claim to fame was the one colored pink at the Clairol exhibit of the 1964 Worlds Fair [or so I heard from my female classmates--the exhibit was open only to females], was allegedly 32 bits, but its drum memory always had the low-order bit set to 0, and just to be extra perverse, its multiply instruction [M] assumed the multiplicands were binary fractions with the binary point right after the sign bit. I think it was twos-complement representation. (It had a second multiply instruction [N] which produced the rest of the bits.) Oh--just noticed--there's a manual on the web.
--ms
On 07-Jun-17 22:57, Henry Baker wrote:
At 06:24 PM 6/7/2017, Victor Miller wrote:
I remember an IBM FORTRAN manual stating that arrays were stored in "natural" order -- backwards! The index registers on the 709/7090/7094 subtracted. Yes!
Curiously, IBM saved money on the 7040 (a poor man's 7090) by dispensing with 4 of the 7 index registers -- remember, each bit of an index register was an entire card full of transistor electronics (I seem to recall), so 4x15 = 60 cards saved.
So the question is: what happened if you specified index register 5 = 0b101 (which didn't exist on the 7040) ?
Answer: the 7040 OR'd the bits of register 1 = 0b001 and register 4 = 0b100, providing a really, really obscure way to OR two 15-bit quantities!
Needless to say, the 7040 Fortran compiler didn't make use of this capability, but someone in the medical/statistical computing group that I worked for did: he arranged 3D subarrays and used the 3 index registers for the x,y,z coordinates -- he could index up to a 32x32x32 3-D array this way. (We were simulating the effects of radiation on human tissue, so 3D "voxels" -- although that term came decades later -- were important.)
The 7040 never trapped/interrupted on an un-recognized op code; it simply did the best that it could. So we tried to completely map out what all of the non-standard op codes did. Sadly, we never found anything terribly useful -- the best we could do was a block-move-and-complement-every-other-word! Good luck trying to do something useful with that one!
_______________________________________________ math-fun mailing list math-fun@mailman.xmission.com https://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun
_______________________________________________ math-fun mailing list math-fun@mailman.xmission.com https://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun