Path: utzoo!attcan!uunet!snorkelwacker!ai-lab!rice-chex!bson From: bson@rice-chex.ai.mit.edu (Jan Brittenson) Newsgroups: comp.sys.handhelds Subject: More on Staurn opcode problems Message-ID: <11555@life.ai.mit.edu> Date: 25 Oct 90 07:30:49 GMT Sender: news@ai.mit.edu Organization: nil Lines: 59 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.