Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ima.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!ima!johnl From: johnl@ima.UUCP (John R. Levine) Newsgroups: net.arch Subject: Re: ORed indexes Message-ID: <106@ima.UUCP> Date: Fri, 2-May-86 18:30:59 EDT Article-I.D.: ima.106 Posted: Fri May 2 18:30:59 1986 Date-Received: Sun, 4-May-86 04:49:08 EDT References: <5100066@ccvaxa> <353@astroatc.UUCP> Reply-To: johnl@ima.UUCP (John R. Levine) Organization: Javelin Software Corporation Lines: 24 Summary: IBM had or'ed indexes in 1958 In article <5100066@ccvaxa> aglew@ccvaxa.UUCP writes: >How would you react to an instruction set that had no indexed addressing >mode, but did have a mode where a register was ORed into the address? OR'ed indexes, eh? Back in olden days, the IBM 704, 709 (tubes), and 7040 and 7090 (transistors) each had 3 index registers, numbered 1, 2, and 4. Normally, if you specified one index register, it was subtracted in twos complement from the base address in the instruction. (Why subtracted rather than added is something I never understood, particularly since they were subtracted twos-comp and the machine was otherwise sign-magnitude. But I digress.) If you set more than one of the three bits in the index register field, the corresponding registers were or'ed together before they were subtracted from the base address. Sounds handy, no? Well, no. It was completely useless and probably due to a random wiring peculiarity in the 704. In the 7094, there were 7 different index registers and specifying register 6 got you register 6 rather than registers 2 and 4 or'ed. I gather that almost every 7090 program worked on the 7094, which means that nobody used the or'ing. Pfui. -- John R. Levine, {ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl Levine@YALE.EDU The opinions expressed above are those of a 12-year-old hacker who has broken into my account and not those of any person or organization.