diff options
author | Mike Pavone <pavone@retrodev.com> | 2013-04-30 00:37:30 -0700 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2013-04-30 00:37:30 -0700 |
commit | a401040df4061a5118b5ba5ef42d67f2f331e6e1 (patch) | |
tree | fd66976465909c303d2ea69beb919cd4d36b1f21 /zdis.c | |
parent | 981623bbb34a6a1620eb609fd3069b4bf4086ffa (diff) |
Fix infinite loop in Z80 disassembler
Diffstat (limited to 'zdis.c')
-rw-r--r-- | zdis.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -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; } |