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 + + * 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 * 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 %% % %d print the bitfield in decimal %x print the bitfield in hex + %X print the bitfield as 1 hex digit without leading "0x" %r print as an ARM register %f print a floating point constant if >7 else a floating point register