From a401040df4061a5118b5ba5ef42d67f2f331e6e1 Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Tue, 30 Apr 2013 00:37:30 -0700 Subject: Fix infinite loop in Z80 disassembler --- zdis.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'zdis.c') diff --git a/zdis.c b/zdis.c index be0ffe4..f7c7201 100644 --- a/zdis.c +++ b/zdis.c @@ -125,7 +125,7 @@ int main(int argc, char ** argv) break; } for(;;) { - if (address > filesize) { + if (address > filesize || is_visited(address)) { break; } visit(address); @@ -133,8 +133,8 @@ int main(int argc, char ** argv) address += (next-encoded); encoded = next; - //m68k_disasm(&instbuf, disbuf); - //printf("%X: %s\n", instbuf.address, disbuf); + //z80_disasm(&instbuf, disbuf); + //printf("%X: %s\n", address, disbuf); if (instbuf.op == Z80_HALT || instbuf.op == Z80_RET || instbuf.op == Z80_RETI || instbuf.op == Z80_RETN || instbuf.op == Z80_RST) { break; } -- cgit v1.2.3