On Saturday 26 May 2007, Andreas Schwab wrote: > This patch implements the full extension word format addressing mode in > the m68k emulation. I have manually verified that it gets all cases > right.
> + if ((ext & 0x80) == 0) { > + /* base not suppressed */ > + if (base == -1) > + tmp = gen_im32(offset + bd); > + else if (bd != 0) { > + tmp = gen_new_qreg(QMODE_I32); > + gen_op_add32(tmp, base, gen_im32(bd)); > + } else > + tmp = base; > + if ((ext & 0x44) == 0) > + gen_op_add32(tmp, tmp, add); This corrupts a2 in the following instruction: move.l ([%a2,%a1.l],0),%a0 I've fixed that and tweaked how temporary variables are used. Paul