Use of $at register in MIPS

assemblycomputer-architecturemips

Register r1 or $at, is it's sole use in pseudoinstructions? If so, is this the sole solution to enable pseudoinstructions within the architecture?

Best Answer

Yes, the $at (Assembler Temporary) register is generally reserved for use in pseudoinstructions.

That's not to say you can't use it yourself for other things, but don't rely on it being kept the same from instruction to instruction if you use pseudoinstructions (which sometimes you use without realising it).

To protect your other registers it's important that the assembler doesn't use any other registers for pseudoinstructions, so if it's well behaved (and they all should be, or things would break) then it will always use $at.