winedbg: Add swap operator to ARM disassembler.
This commit is contained in:
parent
498614dda6
commit
b96d613337
|
@ -156,6 +156,16 @@ static UINT arm_disasm_longmul(UINT inst, ADDRESS64 *addr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static UINT arm_disasm_swp(UINT inst, ADDRESS64 *addr)
|
||||
{
|
||||
short byte = (inst >> 22) & 0x01;
|
||||
|
||||
dbg_printf("\n\tswp%s%s\t%s, %s, [%s]", get_cond(inst), byte ? "b" : "",
|
||||
tbl_regs[get_nibble(inst, 3)], tbl_regs[get_nibble(inst, 0)],
|
||||
tbl_regs[get_nibble(inst, 4)]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static UINT arm_disasm_branchreg(UINT inst, ADDRESS64 *addr)
|
||||
{
|
||||
dbg_printf("\n\tb%s\t%s", get_cond(inst), tbl_regs[get_nibble(inst, 0)]);
|
||||
|
@ -727,6 +737,7 @@ static const struct inst_arm tbl_arm[] = {
|
|||
{ 0x0e000000, 0x0a000000, arm_disasm_branch },
|
||||
{ 0x0fc000f0, 0x00000090, arm_disasm_mul },
|
||||
{ 0x0f8000f0, 0x00800090, arm_disasm_longmul },
|
||||
{ 0x0fb00ff0, 0x01000090, arm_disasm_swp },
|
||||
{ 0x0e000090, 0x00000090, arm_disasm_halfwordtrans },
|
||||
{ 0x0ffffff0, 0x012fff00, arm_disasm_branchreg },
|
||||
{ 0x0ffffff0, 0x012fff10, arm_disasm_branchxchg },
|
||||
|
|
Loading…
Reference in New Issue