diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/arm-dis.c | 8 | ||||
-rw-r--r-- | opcodes/arm-opc.h | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 18a5911a6e..bdaaef3a09 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +Mon Nov 15 19:34:58 1999 Donald Lindsay <dlindsay@cygnus.com> + + * arm-dis.c (print_insn_arm): Added general purpose 'X' format. + * arm-opc.h (print_insn_arm): Added comment documenting + the 'X' format just added to arm-dis.c. + 1999-11-15 Gavin Romig-Koch <gavin@cygnus.com> * mips-opc.c (la): Create a version that just uses addiu directly. diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 9687134b84..9c44bf87e9 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -491,6 +491,14 @@ print_insn_arm (pc, info, given) func (stream, "\t; IMBRange"); } break; + case 'X': + { + long reg; + reg = given >> bitstart; + reg &= (2 << (bitend - bitstart)) - 1; + func (stream, "%01x", reg & 0xf); + } + break; case 'f': { long reg; diff --git a/opcodes/arm-opc.h b/opcodes/arm-opc.h index f49298fb0c..2ea3e13a44 100644 --- a/opcodes/arm-opc.h +++ b/opcodes/arm-opc.h @@ -33,6 +33,7 @@ struct thumb_opcode %% % %<bitfield>d print the bitfield in decimal %<bitfield>x print the bitfield in hex + %<bitfield>X print the bitfield as 1 hex digit without leading "0x" %<bitfield>r print as an ARM register %<bitfield>f print a floating point constant if >7 else a floating point register |