aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-dis.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-12-10 02:50:53 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-12-10 02:50:53 +0000
commit5f754f58d9d6867b1346e882af939d100558759d (patch)
treeccfbd37080e5a13b972aa7a300ea1fcf4f4b90d7 /opcodes/i386-dis.c
parent267d825c7184ba65f540e8a6e2060a5df4534584 (diff)
downloadgdb-5f754f58d9d6867b1346e882af939d100558759d.zip
gdb-5f754f58d9d6867b1346e882af939d100558759d.tar.gz
gdb-5f754f58d9d6867b1346e882af939d100558759d.tar.bz2
2006-12-09 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (X86_64_1): New. (X86_64_2): Likewise. (X86_64_3): Likewise. (dis386): Replace 0x60, 0x61 and 0x62 entries with x86-64 tables. (x86_64_table): Add entries for 0x60, 0x61 and 0x62.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r--opcodes/i386-dis.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 7d80f68..1ea683f 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -479,6 +479,9 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
#define X86_64_0 NULL, NULL, X86_64_SPECIAL, NULL, 0, NULL, 0, NULL, 0
+#define X86_64_1 NULL, NULL, X86_64_SPECIAL, NULL, 1, NULL, 0, NULL, 0
+#define X86_64_2 NULL, NULL, X86_64_SPECIAL, NULL, 2, NULL, 0, NULL, 0
+#define X86_64_3 NULL, NULL, X86_64_SPECIAL, NULL, 3, NULL, 0, NULL, 0
#define THREE_BYTE_0 NULL, NULL, IS_3BYTE_OPCODE, NULL, 0, NULL, 0, NULL, 0
#define THREE_BYTE_1 NULL, NULL, IS_3BYTE_OPCODE, NULL, 1, NULL, 0, NULL, 0
@@ -647,10 +650,10 @@ static const struct dis386 dis386[] = {
{ "popV", RMrSI, XX, XX, XX },
{ "popV", RMrDI, XX, XX, XX },
/* 60 */
- { "pusha{P|}", XX, XX, XX, XX },
- { "popa{P|}", XX, XX, XX, XX },
- { "bound{S|}", Gv, Ma, XX, XX },
{ X86_64_0 },
+ { X86_64_1 },
+ { X86_64_2 },
+ { X86_64_3 },
{ "(bad)", XX, XX, XX, XX }, /* seg fs */
{ "(bad)", XX, XX, XX, XX }, /* seg gs */
{ "(bad)", XX, XX, XX, XX }, /* op size prefix */
@@ -2030,8 +2033,20 @@ static const struct dis386 prefix_user_table[][4] = {
static const struct dis386 x86_64_table[][2] = {
{
- { "arpl", Ew, Gw, XX, XX },
- { "movs{||lq|xd}", Gv, Ed, XX, XX },
+ { "pusha{P|}", XX, XX, XX, XX },
+ { "(bad)", XX, XX, XX, XX },
+ },
+ {
+ { "popa{P|}", XX, XX, XX, XX },
+ { "(bad)", XX, XX, XX, XX },
+ },
+ {
+ { "bound{S|}", Gv, Ma, XX, XX },
+ { "(bad)", XX, XX, XX, XX },
+ },
+ {
+ { "arpl", Ew, Gw, XX, XX },
+ { "movs{||lq|xd}", Gv, Ed, XX, XX },
},
};