# HG changeset patch # User Mike Pavone # Date 1356672720 28800 # Node ID c7185fd840fc50b98f0d083b6d2cb770b804828d # Parent f894f85cf39d71c5c1abe41d235318c4a4ef7039 Fix address register indexed addressing (probably) diff -r f894f85cf39d -r c7185fd840fc m68k_to_x86.c --- a/m68k_to_x86.c Thu Dec 27 21:23:55 2012 -0800 +++ b/m68k_to_x86.c Thu Dec 27 21:32:00 2012 -0800 @@ -224,6 +224,20 @@ if (inst->src.params.regs.displacement) { out = add_ir(out, inst->src.params.regs.displacement, SCRATCH1, SZ_D); } + switch (inst->extra.size) + { + case OPSIZE_BYTE: + out = call(out, (char *)m68k_read_byte_scratch1); + break; + case OPSIZE_WORD: + out = call(out, (char *)m68k_read_word_scratch1); + break; + case OPSIZE_LONG: + out = call(out, (char *)m68k_read_long_scratch1); + break; + } + ea->mode = MODE_REG_DIRECT; + ea->base = SCRATCH1; break; case MODE_PC_DISPLACE: out = cycles(out, BUS);