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:
Nick Clifton 2015-11-02 14:14:22 +00:00
parent a62e598977
commit e292aa7a95
11 changed files with 560 additions and 480 deletions

View file

@ -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: