Mercurial > repos > blastem
changeset 114:e821b6fde0e4
Allow jmp/jsr to follow pc-relative addresses in disassembler
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 28 Dec 2012 19:21:05 -0800 |
parents | d260996eea55 |
children | 11d72e471104 |
files | dis.c |
diffstat | 1 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/dis.c Fri Dec 28 17:59:41 2012 -0800 +++ b/dis.c Fri Dec 28 19:21:05 2012 -0800 @@ -106,12 +106,20 @@ if (is_visited(address)) { break; } + } else if (instbuf.src.addr_mode = MODE_PC_DISPLACE) { + address = instbuf.src.params.regs.displacement + instbuf.address + 2; + encoded = filebuf + address/2; + if (is_visited(address)) { + break; + } } else { break; } } else if(instbuf.op == M68K_JSR) { if (instbuf.src.addr_mode == MODE_ABSOLUTE || instbuf.src.addr_mode == MODE_ABSOLUTE_SHORT) { def = defer(instbuf.src.params.immed, def); + } else if (instbuf.src.addr_mode = MODE_PC_DISPLACE) { + def = defer(instbuf.src.params.regs.displacement + instbuf.address + 2, def); } } }