[comp.sys.handhelds] 28 Processor notes errata/question

bson@rice-chex.ai.mit.edu (Jan Brittenson) (11/20/90)

   In Alonzo's HP28 Processor Notes, the section on the OUT
instruction (in the table "by type") reads:


	Copy OUT register to register A or C

			800	OUT.S	C
			801	OUT.X	C



   Is 800 actually "OUT.X A" or should the description read "Copy
register C to OUT register"?

akcs.joehorn@hpcvbbs.UUCP (Joseph K. Horn) (11/22/90)

Jan Brittenson asked:

>   In Alonzo's HP28 Processor Notes, the section on the OUT
> instruction (in the table "by type") reads:
>
>
>   Copy OUT register to register A or C
>
>            800  OUT.S     C
>            801  OUT.X     C
>
>    Is 800 actually "OUT.X A" or should the description read
> "Copy register C to OUT register"?

Opcode 800 loads the least significant nib of OUT with the least
significant nib of C.  HP's mnemonic for this instruction is
OUT=CS, where "S" stands for "Single nib", I suppose; it cannot
stand for the S field, because OUT=CS copies nib 0, not nib F.

Opcode 801 loads all three nibs of OUT with the three low-order
nibs of C (not A), which is field X.  HP's mnemonic for this
instruction is OUT=C.

There is an A=IN instruction, but no OUT=A (at least in the HP 71
and HP 28).

This information is mere hearsay and not guaranteed blah blah.

--  Joseph K. Horn  --  (714) 858-0920  --  Peripheral Vision, Ltd.

bson@rice-chex.ai.mit.edu (Jan Brittenson) (11/23/90)

In article <274ae32a:1193.1comp.sys.handhelds;1@hpcvbbs.UUCP> 
  akcs.joehorn@hpcvbbs.UUCP (Joseph K. Horn) writes:

 >>   Copy OUT register to register A or C
 >>
 >>            800  OUT.S     C
 >>            801  OUT.X     C

 > Opcode 800 loads the least significant nib of OUT with the least
 > significant nib of C.

So what we're looking at here, is actually

		OUT.1	C

if I understand you correctly?

umapd51@cc.ic.ac.uk (W.A.C. Mier-Jedrzejowicz) (11/24/90)

The person who posted this question asks if the description of two
machine language operations in Alonzo Gariepy's HP-28 Processor Notes is
correct. If in doubt, go to the original sources, which Alonzo mentions
- the HP-71B IDS, or if that is too expensive then my book "Customize
Your HP-28". Both show that the opcodes 800 and 801 copy C(S) and C(X)
respectively to the OUT register.
Apologies to all readers to whom this is Greek (except the Greeks, to
whom this is presumably Polish ;-)  ). Oh, never mind. Unless you're
Greek (or Polish - who are you voting for, in that case?)
Wlodek Mier-Jedrzejowicz

alonzo@microsoft.UUCP (Alonzo GARIEPY) (11/29/90)

In article <11962@life.ai.mit.edu> bson@rice-chex.ai.mit.edu (Jan Brittenson) writes:
> In Alonzo's HP28 Processor Notes, the section on the OUT instruction [reads]:
> 	Copy OUT register to register A or C
> 			800	OUT.S	C
> 			801	OUT.X	C

As you suggest, this is a typo and should properly read:

 	Copy register C to OUT register
 			800	OUT.S	C		; output sign field
 			801	OUT.X	C		; output exponent field

Thanks for pointing this out.

Alonzo Gariepy
alonzo@microsoft

akcs.joehorn@hpcvbbs.UUCP (Joseph K. Horn) (12/01/90)

Alonzo!  Are you sure?  The HP-71 Internal Design Specification says that
opcode 800 loads the least significant nibble of the Output register with
the LEAST SIGNIFICANT NIBBLE OF THE C REGISTER.  That's _not_ the "sign
field" nibble, which is the MOST significant nibble, right?
HP's mnemonics call this nibble 0.  The S field is nibble 15.
-- Joseph K. Horn -- (714) 858-0920 -- Peripheral Vision, Ltd. --