diff options
author | Michael Pavone <pavone@retrodev.com> | 2016-05-10 08:59:17 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2016-05-10 08:59:17 -0700 |
commit | bfc49a8c524c098f5df0244e7329dfe5d6702acb (patch) | |
tree | a01d5ca874220036d8e653888945bf68d41b6107 /m68k_core_x86.c | |
parent | bbd9deb6bbdeb54c6ce90668a11ea37af6bf27f1 (diff) |
Fix bug in 68K movep.l when the destination is a register mapped to a host register
Diffstat (limited to 'm68k_core_x86.c')
-rw-r--r-- | m68k_core_x86.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/m68k_core_x86.c b/m68k_core_x86.c index 26a8dbb..c07760b 100644 --- a/m68k_core_x86.c +++ b/m68k_core_x86.c @@ -949,6 +949,7 @@ void translate_m68k_movep(m68k_options * opts, m68kinst * inst) add_ir(code, 2, opts->gen.scratch1, SZ_D); push_r(code, opts->gen.scratch1); call(code, opts->read_8); + movzx_rr(code, opts->gen.scratch1, opts->gen.scratch1, SZ_B, SZ_W); shl_ir(code, 16, opts->gen.scratch1, SZ_D); or_rr(code, opts->gen.scratch1, reg, SZ_D); } else { |