堕落神殇 发表于 2012-5-3 20:11:10

WIN32 第七章表程序=、= FILD FLDPI什么意思?求大神

CalcXproc      _dwDegree,_dwRadius
local       @dwReturn
fild          dwCenterX
fild               _dwDegree
fldpi
fmul            ;角度*Pi
fild            _dwPara180
fdivp          st(1),st                     ;角度*Pi/180
fsin                                             ;Sin(角度*Pi/180)
fild            _dwRadius
fmul                                       ;半径*Sin(角度*Pi/180)
fadd                                        ;X+半径*Sin(角度*Pi/180)
fistp          @dwReturn
mov         eax,@dwReturn
ret
_CalcXendp

这几个指令百度没百百出来。。谷歌也没谷出来:'(:'(   

堕落神殇 发表于 2012-5-3 20:32:33

诶 有搜了下百度 ,找到相关的 东西了具体看
http://apps.hi.baidu.com/share/detail/15143393

bingghost 发表于 2012-5-3 20:43:55

浮点指令集

堕落神殇 发表于 2012-5-3 20:57:52

浮点寄存器的 运算我越看越想 PLC 指令运算。。

折射的世界 发表于 2012-5-4 17:53:26

数据传送指令:fld和fild,fst,fstp:
fld 源操作数,源操作数可以是浮点寄存器和内存,这个指令主要是把源操作数压入浮点寄存器堆栈(其实就是st0),如果源操作数是整数,那就用fild。
Fst和fstp是把st(0)浮点寄存器中的数弹出到目的操作数中,目的操作数可以为浮点寄存器和内存。

加减法指令:fadd,faddp,fub,fsubp
第一种形式:fadd   目的操作数,源操作数。其中目的操作数,源操作数可以为浮点寄存器和内存。
第二种形式:fadd源操作数,我本人比较喜欢这种,它不会把我脑海里的浮点寄存器的顺序弄乱,这种形式的源操作数只能是内存。减法指令同加法指令,就不多说了。

乘除法指令:fmul,fdiv
浮点的乘除法是不区分有符号和无符号数的,他们也有两种形式:
fmul目的操作数,源操作数 和 fmul 源操作数这两种形式,第一种 操作数和源操作数可以为浮点寄存器和内存,但第二种 源操作数 值能为内存。

平方根指令:fsqrt
这个指令就一种形式就是fsqrt,就是把第0个浮点寄存器st0 的值变成平方根值然后存在st0中。
再回到例题中,我们应该先算s值,然后再算平方根下面的值然后求平方根就行了。
S值是三边长除以2,转换成浮点指令就是:flda ;先把a值放到浮点寄存器st0中

鸭子2号 发表于 2012-9-10 15:00:46

多谢分享!
http://www.ruiyish.com万艾可
http://www.zxgrow.com卡王
http://www.gzkemei.com基因育根
http://www.dfdzpcb.com阴茎增大
http://www.jishiyaofang.com超级P57
http://www.KYKYY.COM充气仿真娃娃
http://www.jskmvchina.com怎么样才能生儿子
http://www.cdwucheng.com脚气的治疗方法
http://www.am688.com阴茎短小
http://www.jxhaichuan.com快高
http://www.chxtn.comwifi 密码破解

2004wmj 发表于 2014-9-7 16:09:54

多谢分享,很有用!

王虬鹏 发表于 2014-9-11 16:26:35

谢谢哈
页: [1]
查看完整版本: WIN32 第七章表程序=、= FILD FLDPI什么意思?求大神