Nick Glencross <[EMAIL PROTECTED]> wrote: > 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'. Well C<word> and C<$I13> or some such is the same for the compiler. Both need a Parrot register allocation. If they aren't reused after this instruction, there isn't any problem to put these into the same register. But *if* C<word> is reused after this instruction, then it's of course a bug. The usage in e.g. F<debug.imc> doesn't indicate any reuse of C<word>. Just continue writing the loop and it'll work :) BTW: Currently ".param"(s) must be immediately following after the ".sub" line (no empty line, no comment line) and the return statement is also bogus. see F<imcc/docs/calling_conventions.pod> > Nick leo