I'm trying to understand how to use this. Is it already enabled and it's just looking for the values of various virtual methods that can be overridden? Mips 16 only has 8 free general registers but there are a lot of mips32 registers that I can use in limited ways. Some fancy schemes for addressing can cause too much register pressure to make it worth it. if I want to maintain an additional pointer I can for example, using a pair of unused Mips32 registers, keep the value in a mips32 register and bring it back to live quickl. Value is in Reg32X. Reg32Y = Reg16Z Reg16Z = Reg32X ... do some things with Reg16Z/Reg32X Reg16z = Reg32Y ; restore Reg16Z These move instructions are both 16 bit instructions. At some point I have think of some more formal ways to use the Mips32 registers.