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

Reply via email to