On Tue, 2 Sept 2025 at 22:27, Steve Smith < [email protected]> wrote:
> Well, I dispute that. What is it that you're disputing? > In most instructions, 0 in an R field has nothing to > do with register 0. It explicitly means *no* register is used, and the > value of 0 is. Yes. And I described it a slightly different way specific to use of an index register. Do you believe these two ways of describing the treatment of 0 in an X field can lead to different results? > It's just solipsistic to say the machine "considers" register 0 to be 0. You're quoting my post, but I didn't write that, and I don't see anything like it in this thread. I said that register 0 when used as an index is deemed to have the value 0. It's not the machine doing the deeming; it's the book. And the Principles of Operation doesn't get into how things like this are implemented. And how is it solipsistic? It might be a case of anthropomorphism, but again, I didn't say it. The language in the PoOp is more like you cannot use > register 0 for addressing in most cases. > To be exact, it (the -14 edition) says: "A zero in any of the B1, B2, X2, B3, or B4 fields indicates the absence of the corresponding address component. For the absent component, a zero is used in forming the intermediate sum, regardless of the contents of general register 0." (Actually in the book those field numbers are subscripts, but I don't want to risk them not surviving Listserv and such.) In my opinion my version is closer to what the book says than yours is. But, again in my opinion, they cannot lead to different results. And as far as I can tell, you can't use access register 0 for anything > other than volatile temporary storage. > The TEST ACCESS (TAR) instruction uses the actual content of AR0 if specified, but otherwise I think you're right. I've never had occasion to use TAR, but I have used AR0 for temporary storage. sas > Tony H. > On Tue, Sep 2, 2025 at 1:37 PM Tony Harminc <[email protected]> wrote: > > > On Tue, 2 Sept 2025 at 13:05, Steve Smith < > > [email protected]> wrote: > > > > Is there such a thing as an implicit index register? ;-) > > > > > > > Yes, there is. All RX instructions have an index register - it's not in > any > > sense optional at the machine code level - if you don't explicitly > provide > > one in the assembler language then the assembler will generate the > > instruction using 0. (And of course register 0 when used as an index is > > deemed to have the value 0.) It's extremely common for RX instructions to > > be used in contexts where no index register is needed. > > > > But I'm sure you know all this. Now if you had asked "is there such a > thing > > as specifying an implicit index register?", then that would have a > > different answer. ;-) > > > > Tony H. > > >
