From 541978879d22d93a647e8e06a4758d39dc37caa1 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Sun, 17 Apr 2011 06:45:33 +0000 Subject: [PATCH] Added the "btr" instruction --- src/arch/i386.ins | 14 ++++++++++++-- test/i386.S | 5 +++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/arch/i386.ins b/src/arch/i386.ins index 7eb79b4..5723736 100644 --- a/src/arch/i386.ins +++ b/src/arch/i386.ins @@ -218,8 +218,8 @@ { "bt", 0x0fba, OP2F, OP_RMW_D8+4,OP_S8, AOT_NONE }, { "bt", 0x0fba, OP2F, OP_RMW_DW+4,OP_S8, AOT_NONE }, { "bt", 0x0fba, OP2F, OP_RMW_RW+4,OP_S8, AOT_NONE }, -/* BTC 0x0fa3 2 r/mW rW */ -{ "btC", 0x0fbb, OP2F, OP_RMW_D0_R,OP_RW, AOT_NONE }, +/* BTC 0x0fbb 2 r/mW rW */ +{ "btc", 0x0fbb, OP2F, OP_RMW_D0_R,OP_RW, AOT_NONE }, { "btc", 0x0fbb, OP2F, OP_RMW_D8_R,OP_RW, AOT_NONE }, { "btc", 0x0fbb, OP2F, OP_RMW_DW_R,OP_RW, AOT_NONE }, { "btc", 0x0fbb, OP2F, OP_RMW_RW_R,OP_RW, AOT_NONE }, @@ -228,5 +228,15 @@ { "btc", 0x0fba, OP2F, OP_RMW_D8+7,OP_S8, AOT_NONE }, { "btc", 0x0fba, OP2F, OP_RMW_DW+7,OP_S8, AOT_NONE }, { "btc", 0x0fba, OP2F, OP_RMW_RW+7,OP_S8, AOT_NONE }, +/* BTR 0x0fb3 2 r/mW rW */ +{ "btr", 0x0fb3, OP2F, OP_RMW_D0_R,OP_RW, AOT_NONE }, +{ "btr", 0x0fb3, OP2F, OP_RMW_D8_R,OP_RW, AOT_NONE }, +{ "btr", 0x0fb3, OP2F, OP_RMW_DW_R,OP_RW, AOT_NONE }, +{ "btr", 0x0fb3, OP2F, OP_RMW_RW_R,OP_RW, AOT_NONE }, +/* BTR 0x0fba /6 ib 2 r/mW imm8 */ +{ "btr", 0x0fba, OP2F, OP_RMW_D0+6,OP_S8, AOT_NONE }, +{ "btr", 0x0fba, OP2F, OP_RMW_D8+6,OP_S8, AOT_NONE }, +{ "btr", 0x0fba, OP2F, OP_RMW_DW+6,OP_S8, AOT_NONE }, +{ "btr", 0x0fba, OP2F, OP_RMW_RW+6,OP_S8, AOT_NONE }, /* NOP */ { "nop", 0x90, OP1F, AOT_NONE, AOT_NONE, AOT_NONE }, diff --git a/test/i386.S b/test/i386.S index f2faa76..c131de9 100644 --- a/test/i386.S +++ b/test/i386.S @@ -64,5 +64,10 @@ btc [%eax], %ecx /* 0f bb 08 */ btc %eax, $0x42 /* 0f ba f8 42 */ btc [%eax], $0x42 /* 0f ba 38 42 */ + /* BTR */ + btr %eax, %ecx /* 0f b3 c8 */ + btr [%eax], %ecx /* 0f b3 08 */ + btr %eax, $0x42 /* 0f ba f0 42 */ + btr [%eax], $0x42 /* 0f ba 30 42 */ /* NOP */ nop