It clears (makes zero) the sign bit, bit 31. All the other bits stay the same.
There are three instructions that move data between registers inside the processor:
| Instruction | Operation |
|---|---|
|
copy 32 bits from float register | |
|
move to coprocessor 1
Copy 32 bits from general register
| |
|
move from coprocessor 1
copy 32 bits from float register
|
These instructions merely copy bit patterns between registers.
The pattern is not altered.
With the mfc1 instruction,
the contents of a floating point register is copied "as is"
to a general purpose register.
So a complicated calculation with integers can use float registers
for intermediate results.
And a complicated calculation with floats can use general purpose resisters
the same way.
(Thought Question: ) The neg.s fd,fs instruction
places the negation of the number in $fsinto $fd.
How does it do this?