From 5f754f58d9d6867b1346e882af939d100558759d Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 10 Dec 2006 02:50:53 +0000 Subject: [PATCH] 2006-12-09 H.J. Lu * 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. --- opcodes/ChangeLog | 9 +++++++++ opcodes/i386-dis.c | 25 ++++++++++++++++++++----- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index d46f44103fa..7a9ee7f9fcf 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,12 @@ +2006-12-09 H.J. Lu + + * 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. + 2006-12-09 H.J. Lu * i386-dis.c: Adjust white spaces. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 7d80f68f577..1ea683fc7fe 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 }, }, }; -- 2.30.2