aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorDonald Lindsay <dlindsay@redhat.com>1999-11-16 03:37:02 +0000
committerDonald Lindsay <dlindsay@redhat.com>1999-11-16 03:37:02 +0000
commitcfbd315cb24f6ed795f715fe376182bfcc7b52de (patch)
tree38e4af4fcb5a0f657edebfbe5373164bc14c4b7b /opcodes
parent73c89d4876b3b10276edb1a5858d4c7e365f029a (diff)
downloadgdb-cfbd315cb24f6ed795f715fe376182bfcc7b52de.zip
gdb-cfbd315cb24f6ed795f715fe376182bfcc7b52de.tar.gz
gdb-cfbd315cb24f6ed795f715fe376182bfcc7b52de.tar.bz2
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 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