Sparcstation 1 oddities + plea for enlightenment

Paul E. McKenney mckenney at sri.com
Thu Nov 16 03:56:13 AEST 1989


I noticed the following peculiarities of the Sparcstation 1:

1. Although the fint[sdx], fintrz[sdx], fclass[sdx], fexpo[sdx],
fscale[sdx], frem[sdx], and fquot[sdx] instructions are documented in the
manual, the assembler rejects them as invalid opcodes.  Do these
instructions exist in the underlying hardware, and, if so, could someone
forward me their hexadecimal codes?

2. The assembler appears to insert an extraneous ``st %g4, [%sp + 0x4]''
instruction in front of any instruction that produces an extended result
(e.g., fdtox or faddx).  Although this instruction looks like it should
clobber the stack, it seems to act as a no-op -- despite the fact that the
similar instruction ``st %g4, [%l0 + 0x4]'' does store into memory as I
would expect.  Further, when I hand-assembled a small program without
these extraneous instructions, it behaved the same as the program produced
by the assembler containing the instructions.  Could someone please tell
me the purpose of these apparently superfluous instructions and whether it
is really safe to omit them (ah, the joys of cpp!)?

3. I saw references to the ``annul'' bit in the manual, but no hint as to
what its function is.  Could someone tell me what it does, or where to
read about it?

Thanks in advance to any and all sources of enlightenment.  Please send me
e-mail, I will post a summary if there is sufficient interest.

				Thanx, Paul



More information about the Comp.sys.sun mailing list