Mercurial > repos > blastem
diff zdis.c @ 313:a13329645ea3
Fix terminal instruction detection in disassembler
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 09 May 2013 19:24:18 -0700 |
parents | 852b8765bba6 |
children | 54c0e5f22198 |
line wrap: on
line diff
--- a/zdis.c Thu May 09 18:36:21 2013 -0700 +++ b/zdis.c Thu May 09 19:24:18 2013 -0700 @@ -135,9 +135,6 @@ //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 @@ 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; + } } } }