Fix disassembly of RX zero-offset register indirect instructions.
opcode * rx.h (enum RX_Operand_Type): Add RX_Operand_Zero_Indirect. opcodes * rx-decode.opc (rx_disp): If the displacement is zero, set the type to RX_Operand_Zero_Indirect. * rx-decode.c: Regenerate. * rx-dis (print_insn): Handle RX_Operand_Zero_Indirect. gas * config/rx-parse.y: Allow zero value for 5-bit displacements. tests * gas/rx/mov.sm: Add tests for zero offset indirect moves. * gas/rx/mov.d: Update expected output.
This commit is contained in:
parent
a62e598977
commit
e292aa7a95
11 changed files with 560 additions and 480 deletions
|
@ -222,7 +222,7 @@ rx_disp (int n, int type, int reg, int size, LocalData * ld)
|
|||
ld->rx->op[n].type = RX_Operand_Register;
|
||||
break;
|
||||
case 0:
|
||||
ld->rx->op[n].type = RX_Operand_Indirect;
|
||||
ld->rx->op[n].type = RX_Operand_Zero_Indirect;
|
||||
ld->rx->op[n].addend = 0;
|
||||
break;
|
||||
case 1:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue