diff options
author | Michael Pavone <pavone@retrodev.com> | 2017-04-26 01:05:40 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2017-04-26 01:05:40 -0700 |
commit | 4aa194450243ebe3135ffd88b53b76146236a949 (patch) | |
tree | 8e4b5ca0b705acdcb848b240e28e5c0faf1d225e /68kinst.c | |
parent | 3f8fd3720d38bded32fdf88ed3824f9c8745a4a7 (diff) |
Handle address register displacement when calculating branch targets in debugger
Diffstat (limited to '68kinst.c')
-rw-r--r-- | 68kinst.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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]; |