The codehandler backs them up, but you should definitely avoid using r2 and r13 because those registers depend on having their values preserved in case of interrupts. Also, don’t put ‘blr’ at the end; you instead need to put ‘ba 0x010F6AE0’. It’s a quirk of how the current codehandler was designed.