mckenney@sri.com (Paul E. McKenney) (11/16/89)
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