I am running the Linux 2.0.30 on my PC, an Intel Pentium 133 Mhz. I
am taking a course at University on the MIPS Architecture, we are studying
the MIPS assembly language. We are using a spim simulator at school under
Unix. We are also using the MS-Dos and Win ports of spim.
I was looking for a spim simulator running under linux (my favorite OS) and
I was very happy when I found it under
Linux/ALPHA/mips/crossdev/spim.bin.tgz - Sunsite.unc.edu.
It worked fine at the beginning when we were dealing only with integers and
working on the CPU registers, but I am having problems with reals.
In fact if I run the following program:
.text
.globl main
main: addi $v0,$0,6 # v0 = 6 ready for read single
syscall
mfc1 $t0, $f12 # move content of f12 into t0
..... now I truncate the real number and I print the integer part.
jr $ra
If I run it at home using Linux and I print the content of f12 with print
I have always a zero in f12. By the way the result given by my program is
always zero for any given input. The value of f12 never changes after the
syscall.
Instead if I run it at school using the spim under the Sun SPARC it
works perfectly. There is something wrong in my opinion with the syscall
and the register in COPROCESSOR 1 that is suppose to contain the real in
input never gets it.
Also the version of spim I am using is very old (1992). Do you happen to
have a latest version.
Looking forward to hearing from you,
Thanking you in advance,
> Raphael
|