Well. That's it. Just use $I10 ... $I13 and they will stay what theyI should have emphasised the oddity a bit better.
were. Put a print thereafter for debugging which uses these regs.
'word' has mapped to I16 correctly, and I17 has been used for $I10..$I12. That's fine.
The problem is that $I13 has become *I16*, not (say) I17, so the line
$I13 = word & 0xff000000
has actually had the side effect of changing 'word'.
Nick