diff --git a/src/arch/i386.ins b/src/arch/i386.ins index b579f32..80feea6 100644 --- a/src/arch/i386.ins +++ b/src/arch/i386.ins @@ -419,6 +419,21 @@ /* FIXME implement */ /* FIADD 0xde /0 1 m64int */ /* FIXME implement */ +/* FLD 0xd9 /0 1 m32real */ +/* FIXME implement */ +/* FLD 0xdd /0 1 m64real */ +/* FIXME implement */ +/* FLD 0xdb /5 1 m80real */ +/* FIXME implement */ +/* FLD 0xd9c0 +i 2 st(i) */ +{ "fld", 0xd9c0, OP2F, OP_st0, AOT_NONE, AOT_NONE }, +{ "fld", 0xd9c1, OP2F, OP_st1, AOT_NONE, AOT_NONE }, +{ "fld", 0xd9c2, OP2F, OP_st2, AOT_NONE, AOT_NONE }, +{ "fld", 0xd9c3, OP2F, OP_st3, AOT_NONE, AOT_NONE }, +{ "fld", 0xd9c4, OP2F, OP_st4, AOT_NONE, AOT_NONE }, +{ "fld", 0xd9c5, OP2F, OP_st5, AOT_NONE, AOT_NONE }, +{ "fld", 0xd9c6, OP2F, OP_st6, AOT_NONE, AOT_NONE }, +{ "fld", 0xd9c7, OP2F, OP_st7, AOT_NONE, AOT_NONE }, /* FLD1 0xd9e8 2 */ { "fld1", 0xd9e8, OP2F, AOT_NONE, AOT_NONE, AOT_NONE }, /* FLDL2E 0xd9ea 2 */ diff --git a/test/i386.S b/test/i386.S index d257daf..36e9b4c 100644 --- a/test/i386.S +++ b/test/i386.S @@ -142,7 +142,15 @@ faddp %st7, %st0 fchs fclex - fld1 + fld %st0 /* d9 c0 */ + fld %st1 + fld %st2 + fld %st3 + fld %st4 + fld %st5 + fld %st6 + fld %st7 + fld1 /* d9 e8 */ fld2e fld2t fldg2