读书人

x86浮点寄存器是什么概念如何得到浮

发布时间: 2012-03-18 13:55:39 作者: rapoo

x86浮点寄存器是什么概念,怎么得到浮点寄存器的值,任务切换保存上下文需要保存浮点寄存器吗?
RT

[解决办法]

探讨
RT

[解决办法]
st(0)... 看intel寄存器和指令手册
[解决办法]
浮点寄存器也是寄存器,保存的是浮点数据而已(其实也可以保存64位整数---COMP类型),fst/fstp指令可以存储栈顶浮点寄存器的值到内存,任务切换时保存浮点寄存器一般用fsave/fnsave/fxsave指令。

[解决办法]
任务切换会用fsave,它保存整个浮点单元的状态。

[解决办法]
那是因为你的任务切换未必发生在一段浮点运算指令中间,或者切换后的进程没有使用FPU。
你说的崩溃,可能是没取到地址吧,或者分配的空间不够,可以这样:
char a[108] = "";

__asm{
lea eax,a
fsave [eax]
}

读书人网 >汇编语言

热点推荐