summaryrefslogtreecommitdiff
path: root/m68k_core_x86.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2015-05-23 20:24:27 -0700
committerMichael Pavone <pavone@retrodev.com>2015-05-23 20:24:27 -0700
commita68ca32cfe9156b40952894ff09f1991f073486e (patch)
treedfba1c7a2d4474533f2449d3a41aeeabd09ba8bc /m68k_core_x86.c
parent057e8fb32092e1c1c642791cf915c2522b5662e0 (diff)
Eliminate runtime.S/runtime_32.S.
Diffstat (limited to 'm68k_core_x86.c')
-rw-r--r--m68k_core_x86.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/m68k_core_x86.c b/m68k_core_x86.c
index 62588b7..5c459b0 100644
--- a/m68k_core_x86.c
+++ b/m68k_core_x86.c
@@ -1363,8 +1363,12 @@ void translate_m68k_invalid(m68k_options *opts, m68kinst *inst)
retn(code);
return;
}
- mov_ir(code, inst->address, opts->gen.scratch1, SZ_D);
- call(code, (code_ptr)m68k_invalid);
+ mov_ir(code, (int64_t)stderr, RDI, SZ_PTR);
+ mov_ir(code, (int64_t)"Invalid instruction at %X\n", RSI, SZ_PTR);
+ mov_ir(code, inst->address, RDX, SZ_D);
+ call_args_abi(code, (code_ptr)fprintf, 3, RDI, RSI, RDX);
+ mov_ir(code, 1, RDI, SZ_D);
+ call_args(code, (code_ptr)exit, 1, RDI);
}
void translate_m68k_abcd_sbcd(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op)