aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--opcodes/ChangeLog6
-rw-r--r--opcodes/arm-dis.c8
-rw-r--r--opcodes/arm-opc.h1
3 files changed, 15 insertions, 0 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 18a5911..bdaaef3 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 9687134..9c44bf8 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 f49298f..2ea3e13 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