go to previous page   go to home page   go to next page hear noise

Answer:

It clears (makes zero) the sign bit, bit 31. All the other bits stay the same.


Data Movement

There are three instructions that move data between registers inside the processor:

InstructionOperation
mov.s   fd, fs

copy 32 bits from float register $fsto float register $fd

mtc1   rs, fd

move to coprocessor 1

Copy 32 bits from general register $rs to float register $fd. No data conversion is done.
Note: the source register is $rs and the destination register is $fd, the reverse of the usual order.

mfc1   rd, fs

move from coprocessor 1

copy 32 bits from float register $fsto general register $rd. No data conversion is done.

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 to hold intermediate results. (But the float registers cannot be used with integer instructions.) And a complicated calculation with floats can use general purpose registers the same way. (But the general purpose registers cannot be used with floating point instructions.)


QUESTION 14:

(Thought Question: ) The neg.s fd,fs instruction places the negation of the number in $fsinto $fd. How does it do this?