- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四节浮点指令
【本作品来自互联网,本人不做任何负责】
作品版权归作者所有。
欢迎加我QQ:1635177287共同交流学习
我分享,我快乐!
第四节 浮点指令
对下面的指令先做一些说明: st(i):代表浮点寄存器,所说的出栈、入栈操作都是对st(i)的影响 src,dst,dest,op等都是指指令的操作数,src表示源操作数,dst/dest表示目的操作数 mem8,mem16,mem32,mem64,mem80等表示是内存操作数,后面的数值表示该操作数的内存位数(8位为一字节) x - y 表示将y的值放入x,例st(0) - st(0) - st(1)表示将st(0)-st(1)的值放入浮点寄存器st(0)
1.?
指令格式 指令含义 执行的操作 FLD src 装入实数到st(0) st(0) - src (mem32/mem64/mem80) FILD src 装入整数到st(0) st(0) - src (mem16/mem32/mem64) FBLD src 装入BCD数到st(0) st(0) - src (mem80) ? FLDZ 将0.0装入st(0) st(0) - 0.0 FLD1 将1.0装入st(0) st(0) - 1.0 FLDPI 将pi装入st(0) st(0) - ?(ie, pi) FLDL2T 将log2(10)装入st(0) st(0) - log2(10) FLDL2E 将log2(e)装入st(0) st(0) - log2(e) FLDLG2 将log10(2)装入st(0) st(0) - log10(2) FLDLN2 将loge(2)装入st(0) st(0) - loge(2) ? FST dest 保存实数st(0)到dest dest - st(0) (mem32/mem64) FSTP dest ? dest - st(0) (mem32/mem64/mem80);然后再执行一次出栈操作 FIST dest 将st(0)以整数保存到dest dest - st(0) (mem32/mem64) FISTP dest ? dest - st(0) (mem16/mem32/mem64);然后再执行一次出栈操作 FBST dest 将st(0)以BCD保存到dest dest - st(0) (mem80) FBSTP dest ? dest- st(0) (mem80);然后再执行一次出栈操作 2.比较指令
指令格式 指令含义 执行的操作 FCOM 实数比较 将标志位设置为 st(0) - st(1) 的结果标志位 FCOM op 实数比较 将标志位设置为 st(0) - op (mem32/mem64)的结果标志位 ? FICOM op 和整数比较 将Flags值设置为st(0)-op 的结果op (mem16/mem32) FICOMP op 和整数比较 将st(0)和op比较 op(mem16/mem32)后;再执行一次出栈操作 ? FTST 零检测 将st(0)和0.0比较 FUCOM st(i) ? 比较st(0) 和st(i) [486] FUCOMP st(i) ? 比较st(0) 和st(i),并且执行一次出栈操作 FUCOMPP st(i) ? 比较st(0) 和st(i),并且执行两次出栈操作 FXAM ? Examine: Eyeball st(0) (set condition codes) 3.运算指令
指令格式 指令含义 执行的操作 加法 FADD 加实数 st(0) -st(0) + st(1) FADD src ? st(0) -st(0) + src (mem32/mem64) FADD st(i),st ? st(i) - st(i) + st(0) FADDP st(i),st ? st(i) - st(i) + st(0);然后执行一次出栈操作 FIADD src 加上一个整数 st(0) -st(0) + src (mem16/mem32) 减法 FSUB 减去一个实数 st(0) - st(0) - st(1) FSUB src ? st(0) -st(0) - src (reg/mem) FSUB st(i),st ? st(i) -st(i) - st(0) FSUBP st(i),st ? st(i) -st(i) - st(0),然后执行一次出栈操作 FSUBR st(i),st
文档评论(0)