summaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorDon Lindsay <dlindsay@redhat.com>1999-11-16 03:37:02 +0000
committerDon Lindsay <dlindsay@redhat.com>1999-11-16 03:37:02 +0000
commitdab771c060abb3f4a65ed564576b16fce994652b (patch)
treee1e4c74c33504d77288b7ba880b4e35a12aec4e7 /opcodes
parentf1e69878a8cd02dbbc96294f2321ffb15728397c (diff)
downloadbinutils-redhat-dab771c060abb3f4a65ed564576b16fce994652b.tar.gz
Added 'X' format to ARM code.
Diffstat (limited to 'opcodes')
-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 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