changeset 177:09761d4391e1

Make sure we bail out of translation after translating an invalid instruction
author Mike Pavone <pavone@retrodev.com>
date Sun, 06 Jan 2013 21:44:54 -0800
parents e2918b5208eb
children 48eb62ba63bc
files m68k_to_x86.c
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/m68k_to_x86.c	Sun Jan 06 21:42:57 2013 -0800
+++ b/m68k_to_x86.c	Sun Jan 06 21:44:54 2013 -0800
@@ -3524,7 +3524,7 @@
 			//m68k_disasm(&instbuf, disbuf);
 			//printf("%X: %s\n", instbuf.address, disbuf);
 			dst = translate_m68k(dst, &instbuf, opts);
-		} while(instbuf.op != M68K_ILLEGAL && instbuf.op != M68K_TRAP && instbuf.op != M68K_RTS && instbuf.op != M68K_RTR && instbuf.op != M68K_RTE && !(instbuf.op == M68K_BCC && instbuf.extra.cond == COND_TRUE) && instbuf.op != M68K_JMP);
+		} while(instbuf.op != M68K_ILLEGAL && instbuf.op != M68K_INVALID && instbuf.op != M68K_TRAP && instbuf.op != M68K_RTS && instbuf.op != M68K_RTR && instbuf.op != M68K_RTE && !(instbuf.op == M68K_BCC && instbuf.extra.cond == COND_TRUE) && instbuf.op != M68K_JMP);
 		process_deferred(opts);
 		if (opts->deferred) {
 			address = opts->deferred->address;