MIPS registers have a convention - $s registers are to be preserved across subroutine calls, so if your subroutine modifies them, it should save them to the stack, while $t registers are not preserved.
Now, can a syscall potentially modify a $t register? In a simulator I have, it doesn't, but could a real machine have the $t registers change, potentially? I ask because I want to know whether it's safe to assume a $t register will remain the same across a syscall.