summaryrefslogtreecommitdiff
path: root/m68k_to_x86.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2014-02-11 21:52:15 -0800
committerMichael Pavone <pavone@retrodev.com>2014-02-11 21:52:15 -0800
commit90f9f11749badf66785b6fb416d25e72cdc32c2d (patch)
tree9756acada9554b85f72010e67da1eae1c77b91da /m68k_to_x86.c
parent6ed58ab3da90a6987bf3b8d51c7db27ed1513460 (diff)
parent04b527cd9945160456e8112afb221acef5e1c4fe (diff)
Merge
Diffstat (limited to 'm68k_to_x86.c')
-rw-r--r--m68k_to_x86.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/m68k_to_x86.c b/m68k_to_x86.c
index 219d4c9..4a6f7fb 100644
--- a/m68k_to_x86.c
+++ b/m68k_to_x86.c
@@ -1953,6 +1953,7 @@ uint8_t * translate_m68k_jmp(uint8_t * dst, m68kinst * inst, x86_68k_options * o
}
sec_reg = (inst->src.params.regs.sec >> 1) & 0x7;
if (inst->src.params.regs.sec & 1) {
+ //32-bit index register
if (inst->src.params.regs.sec & 0x10) {
if (opts->aregs[sec_reg] >= 0) {
dst = add_rr(dst, opts->aregs[sec_reg], SCRATCH1, SZ_D);
@@ -1967,6 +1968,7 @@ uint8_t * translate_m68k_jmp(uint8_t * dst, m68kinst * inst, x86_68k_options * o
}
}
} else {
+ //16-bit index register
if (inst->src.params.regs.sec & 0x10) {
if (opts->aregs[sec_reg] >= 0) {
dst = movsx_rr(dst, opts->aregs[sec_reg], SCRATCH2, SZ_W, SZ_D);