> + asm volatile( "move.v $w5, $w11" : "=r"(a) :: "memory" ); My MIPS knowledge is quite limited, but this doesn't look correct. Isn't the cycle counter located in coprocessor 0 register 9, e.g. wouldn't "mfc0 %0, $9" be the correct instruction?