summaryrefslogtreecommitdiff
path: root/m68k_to_x86.c
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2013-09-10 00:30:39 -0700
committerMike Pavone <pavone@retrodev.com>2013-09-10 00:30:39 -0700
commitec1959edf864cf98de267cb0f17b8b2f044a8762 (patch)
tree08378dcf375b910ad1267990d8520e4dda3e4d93 /m68k_to_x86.c
parent929bc24ebe9477fec8993be92b24dd0a96d001cd (diff)
parent773d8bb91c3d4684e3e6a76e8584e6a97eda31ec (diff)
Merge
Diffstat (limited to 'm68k_to_x86.c')
-rw-r--r--m68k_to_x86.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/m68k_to_x86.c b/m68k_to_x86.c
index 785dac3..e78fe0d 100644
--- a/m68k_to_x86.c
+++ b/m68k_to_x86.c
@@ -2952,7 +2952,9 @@ uint8_t * translate_m68k(uint8_t * dst, m68kinst * inst, x86_68k_options * opts)
case M68K_BCLR:
case M68K_BSET:
case M68K_BTST:
- dst = cycles(dst, inst->extra.size == OPSIZE_BYTE ? 4 : 6);
+ dst = cycles(dst, inst->extra.size == OPSIZE_BYTE ? 4 : (
+ inst->op == M68K_BTST ? 6 : (inst->op == M68K_BCLR ? 10 : 8))
+ );
if (src_op.mode == MODE_IMMED) {
if (inst->extra.size == OPSIZE_BYTE) {
src_op.disp &= 0x7;