Closed bigianb closed 2 years ago
Using $at as the target for mtc0 gives invalid operands. Changing to a different register such as a0 for example works.
Some example output is as follows:
mips64r5900el-ps2-elf-gcc -msoft-float -c start.S -o start.o start.S: Assembler messages: start.S:136: Error: invalid operands `mtc0 $12,$at'
Oddly mfc0 works just fine with $at.
The source which gives the error above is:
mfc0 $at, Status li k0, 0xFFFFFFE4 // Kernel mode, disable interrupts and $at, k0 mtc0 Status, $at
agh - ignore me ... the operands are in the other order than I expected. Should be mtc0 $at, $12
Using $at as the target for mtc0 gives invalid operands. Changing to a different register such as a0 for example works.
Some example output is as follows:
Oddly mfc0 works just fine with $at.
The source which gives the error above is: