diff --git a/src/arch/i386.ins b/src/arch/i386.ins index d059dde..d4878c2 100644 --- a/src/arch/i386.ins +++ b/src/arch/i386.ins @@ -586,6 +586,16 @@ { "fnop", 0xd9d0, OP2F, AOT_NONE, AOT_NONE, AOT_NONE }, /* FWAIT 0x9b 1 */ { "fwait", 0x9b, OP1F, AOT_NONE, AOT_NONE, AOT_NONE }, +/* NEG 0xf6 /3 1 r/m8 */ +{ "negb", 0xf6, OP1F, OP_RM8_D0+3,AOT_NONE, AOT_NONE }, +{ "negb", 0xf6, OP1F, OP_RM8_D8+3,AOT_NONE, AOT_NONE }, +{ "negb", 0xf6, OP1F, OP_RM8_DW+3,AOT_NONE, AOT_NONE }, +{ "neg", 0xf6, OP1F, OP_RM8_R8+3,AOT_NONE, AOT_NONE }, +/* NEG 0xf7 /3 1 r/mW */ +{ "neg", 0xf7, OP1F, OP_RMW_D0+3,AOT_NONE, AOT_NONE }, +{ "neg", 0xf7, OP1F, OP_RMW_D8+3,AOT_NONE, AOT_NONE }, +{ "neg", 0xf7, OP1F, OP_RMW_DW+3,AOT_NONE, AOT_NONE }, +{ "neg", 0xf7, OP1F, OP_RMW_RW+3,AOT_NONE, AOT_NONE }, /* NOP 0x90 1 */ { "nop", 0x90, OP1F, AOT_NONE, AOT_NONE, AOT_NONE }, /* NOT 0xf6 /2 1 r/m8 */ diff --git a/test/i386.S b/test/i386.S index b6cf5d3..53d76ad 100644 --- a/test/i386.S +++ b/test/i386.S @@ -241,6 +241,14 @@ fninit fwait nop /* 90 */ + negb [%eax] + negb [%eax + $0x42] + negb [%eax + $0x11223344] + neg %ch + neg [%eax] + neg [%eax + $0x42] + neg [%eax + $0x11223344] + neg %eax notb [%eax] notb [%eax + $0x42] notb [%eax + $0x11223344]