diff --git a/src/arch/i386.ins b/src/arch/i386.ins index dec4732..34344ba 100644 --- a/src/arch/i386.ins +++ b/src/arch/i386.ins @@ -89,6 +89,7 @@ #define OP_S8 AO_IMMEDIATE(AOF_SIGNED, 0, 8) #define OP_SW AO_IMMEDIATE(AOF_SIGNED, 0, W) #define OP_U8 AO_IMMEDIATE(0, 0, 8) +#define OP_U16 AO_IMMEDIATE(0, 0, 16) #define OP_UW AO_IMMEDIATE(0, 0, W) @@ -351,5 +352,7 @@ { "div", 0xf7, OP1F, OP_RMW_D8+6,AOT_NONE, AOT_NONE }, { "div", 0xf7, OP1F, OP_RMW_DW+6,AOT_NONE, AOT_NONE }, { "div", 0xf7, OP1F, OP_RMW_RW+6,AOT_NONE, AOT_NONE }, +/* ENTER 0xc8 iw 1 imm16 imm8 */ +{ "enter", 0xc8, OP1F, OP_U16, OP_U8, AOT_NONE }, /* NOP 0x90 1 */ { "nop", 0x90, OP1F, AOT_NONE, AOT_NONE, AOT_NONE }, diff --git a/test/i386.S b/test/i386.S index dd08f4c..b4c0fbb 100644 --- a/test/i386.S +++ b/test/i386.S @@ -110,4 +110,8 @@ div [%eax + $0x02] /* f7 70 02 */ div [%ebx + $0x4012] /* f7 b3 12 40 00 00 */ div %edx /* f7 f2 */ + /* ENTER */ + enter $0xabcd, $0x0 /* c8 cd ab 00 */ + enter $0xdcef, $0x1 /* c8 ef dc 01 */ + enter $0xfacd, $0x42 /* c8 cd fa 42 */ nop /* 0x90 */