aboutsummaryrefslogtreecommitdiff
path: root/i386-asm.h
diff options
context:
space:
mode:
authorbellard <bellard>2004-10-18 00:14:16 +0000
committerbellard <bellard>2004-10-18 00:14:16 +0000
commit4d9f6d2bcf2a404f3dfc6b9c95ffd9771cfc590a (patch)
tree7c19eb6d2f0daab2b43e47e466a757912afb2765 /i386-asm.h
parentd65463809c214413d9b1943a0474133122f7fe77 (diff)
downloadtinycc-4d9f6d2bcf2a404f3dfc6b9c95ffd9771cfc590a.tar.gz
tinycc-4d9f6d2bcf2a404f3dfc6b9c95ffd9771cfc590a.tar.bz2
push/pop fixes - added fxsave and fxrstor
Diffstat (limited to 'i386-asm.h')
-rw-r--r--i386-asm.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/i386-asm.h b/i386-asm.h
index 612105c..a3b28d4 100644
--- a/i386-asm.h
+++ b/i386-asm.h
@@ -120,13 +120,13 @@ ALT(DEF_ASM_OP2(movzwl, 0x0fb7, 0, OPC_MODRM, OPT_REG16 | OPT_EA, OPT_REG32))
ALT(DEF_ASM_OP1(pushw, 0x50, 0, OPC_REG | OPC_WL, OPT_REGW))
ALT(DEF_ASM_OP1(pushw, 0xff, 6, OPC_MODRM | OPC_WL, OPT_REGW | OPT_EA))
-ALT(DEF_ASM_OP1(push, 0x6a, 0, 0, OPT_IM8S))
-ALT(DEF_ASM_OP1(push, 0x68, 0, 0, OPT_IM32))
-ALT(DEF_ASM_OP1(push, 0x06, 0, 0, OPT_SEG))
+ALT(DEF_ASM_OP1(pushw, 0x6a, 0, OPC_WL, OPT_IM8S))
+ALT(DEF_ASM_OP1(pushw, 0x68, 0, OPC_WL, OPT_IM32))
+ALT(DEF_ASM_OP1(pushw, 0x06, 0, OPC_WL, OPT_SEG))
ALT(DEF_ASM_OP1(popw, 0x58, 0, OPC_REG | OPC_WL, OPT_REGW))
ALT(DEF_ASM_OP1(popw, 0x8f, 0, OPC_MODRM | OPC_WL, OPT_REGW | OPT_EA))
-ALT(DEF_ASM_OP1(pop, 0x07, 0, 0, OPT_SEG))
+ALT(DEF_ASM_OP1(popw, 0x07, 0, OPC_WL, OPT_SEG))
ALT(DEF_ASM_OP2(xchgw, 0x90, 0, OPC_REG | OPC_WL, OPT_REG, OPT_EAX))
ALT(DEF_ASM_OP2(xchgw, 0x90, 0, OPC_REG | OPC_WL, OPT_EAX, OPT_REG))
@@ -330,6 +330,8 @@ ALT(DEF_ASM_OP1(fstsw, 0xdd, 7, OPC_MODRM | OPC_FWAIT, OPT_EA ))
DEF_ASM_OP1(frstor, 0xdd, 4, OPC_MODRM, OPT_EA )
DEF_ASM_OP1(ffree, 0xddc0, 4, OPC_REG, OPT_ST )
DEF_ASM_OP1(ffreep, 0xdfc0, 4, OPC_REG, OPT_ST )
+ DEF_ASM_OP1(fxsave, 0x0fae, 0, OPC_MODRM, OPT_EA )
+ DEF_ASM_OP1(fxrstor, 0x0fae, 1, OPC_MODRM, OPT_EA )
/* segments */
DEF_ASM_OP2(arpl, 0x63, 0, OPC_MODRM, OPT_REG16, OPT_REG16 | OPT_EA)