summaryrefslogtreecommitdiff
path: root/dis.c
diff options
context:
space:
mode:
Diffstat (limited to 'dis.c')
-rw-r--r--dis.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/dis.c b/dis.c
index c6357d8..e99b332 100644
--- a/dis.c
+++ b/dis.c
@@ -106,12 +106,20 @@ int main(int argc, char ** argv)
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);
}
}
}