From 7d51c0144bcc12d49cc6d4d5207e086451b9b6b7 Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Thu, 9 May 2013 19:24:18 -0700 Subject: Fix terminal instruction detection in disassembler --- zdis.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'zdis.c') diff --git a/zdis.c b/zdis.c index f7c7201..1a032e3 100644 --- a/zdis.c +++ b/zdis.c @@ -135,9 +135,6 @@ int main(int argc, char ** argv) //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; - } switch (instbuf.op) { case Z80_JR: @@ -155,9 +152,14 @@ int main(int argc, char ** argv) case Z80_JPCC: case Z80_CALL: case Z80_CALLCC: + case Z80_RST: reference(instbuf.immed); def = defer(instbuf.immed, def); break; + default: + if (z80_is_terminal(&instbuf)) { + address = filesize + 1; + } } } } -- cgit v1.2.3