But also, using literal register numbers in an asm probably isn't going to do what you want (the compiler is free to use any registers it wants, and its free to move your asm around as much as it wants if you don't give it a reason not to). You should look at how to pass parameters into an asm, and set constraints.
yep i know the basics about register literals ( found this useful thread :) http://forums.ps2dev.org/viewtopic.php?t=3558 ), i need macro+parameters because i was experimenting with loop unrolling, macros are good to fix a couple of offsets and don't get mad with copy/paste/modify.
Register literals are only needed if a specific register really needs to be set (like for calling a syscall). Otherwise its better to let the compiler choose all your registers for you.