title: MIPS and $31, can't understand why data is stored in register $31
body: <p>I don't know too much about MIPS, because we have to do it next year at university, but, this year we got to work with lex and yacc and ofcourse we need to know MIPS. I just learned something about it few hours ago, but for example if we have 'a=-2' and 'b=-a', I know that for 'a=-2' we have something like that 'addi  $1, $0, -2', and for 'b=-a' we have something like that   'move $2, $31'. I understood untill here, but I want to know something. $31 is register where 'b' will be stored? and if yes,  what is so special at that register? Why can't be stored in $30 , or $29 for example? It is because $31 is last register?</p>