From 4aa194450243ebe3135ffd88b53b76146236a949 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Wed, 26 Apr 2017 01:05:40 -0700 Subject: Handle address register displacement when calculating branch targets in debugger --- 68kinst.c | 3 +++ 1 file changed, 3 insertions(+) (limited to '68kinst.c') diff --git a/68kinst.c b/68kinst.c index 810e8ad..e650c88 100644 --- a/68kinst.c +++ b/68kinst.c @@ -1574,6 +1574,9 @@ uint32_t m68k_branch_target(m68kinst * inst, uint32_t *dregs, uint32_t *aregs) case MODE_AREG_INDIRECT: ret = aregs[inst->src.params.regs.pri]; break; + case MODE_AREG_DISPLACE: + ret = aregs[inst->src.params.regs.pri] + inst->src.params.regs.displacement; + break; case MODE_AREG_INDEX_DISP8: { uint8_t sec_reg = inst->src.params.regs.sec >> 1 & 0x7; ret = aregs[inst->src.params.regs.pri]; -- cgit v1.2.3