bson@rice-chex.ai.mit.edu (Jan Brittenson) (10/25/90)
Re: my problems with certain opcodes ending with `8' (e.g. 81AF08).
I found the problem. There's a typo in Alonzo's Processor notes.
Under the "listing by code" it reads (I've deleted the irrelevant tables):
81At0j MOVE.f A, Rn
81At0k MOVE.f C, Rn
... ...
j k | Rn
----------
0 9 | R0
1 A | R1
2 B | R2
3 C | R3
4 D | R4
Whereas under the "listing by type" the same table is:
... ...
j k | Rn
----------
0 8 | R0
1 9 | R1
2 A | R2
3 B | R3
4 C | R4
I assume tha latter is correct.
This is a grade A error, of course, and the only one I've found at
all, except for a harmless typo or two. (E.g. under the "Set Bit"
instructions the examples read "clear bit ..." instead of "set
bit...")
Now, here's a fix for SAD.
Towards the beginning (among the global variables) there is a table
reading
*std_rno[] = {"r0", "r1", "r2", "r3", "r4", "r*", "r*", "r*", "r*",
"r0", "r1", "r2", "r3", "r4", "r*", "r*" };
Change it to read
*std_rno[] = {"r0", "r1", "r2", "r3", "r4", "r*", "r*", "r*",
"r0", "r1", "r2", "r3", "r4", "r*", "r*", "r*" };
I.e. delete one entry before the second "r0" and add one additional
"r*" at the end.grue@batserver.cs.uq.oz.au (Frobozz) (10/26/90)
bson@rice-chex.ai.mit.edu (Jan Brittenson) writes: >Re: my problems with certain opcodes ending with `8' (e.g. 81AF08). >I found the problem. There's a typo in Alonzo's Processor notes. This error in the original notes has already been discovered! (while working on my resident disassembler I noted this error and Alonzo confirmed the problem). Pauli seeya Paul Dale | Internet/CSnet: grue@batserver.cs.uq.oz.au Dept of Computer Science| Bitnet: grue%batserver.cs.uq.oz.au@uunet.uu.net Uni of Qld | JANET: grue%batserver.cs.uq.oz.au@uk.ac.ukc Australia, 4072 | EAN: grue@batserver.cs.uq.oz | UUCP: uunet!munnari!batserver.cs.uq.oz!grue f4e6g4Qh4++ | JUNET: grue@batserver.cs.uq.oz.au --