网站大量收购独家精品文档,联系QQ:2885784924

计算机系统导论 课件 第五章指令集体系结构.ppt

计算机系统导论 课件 第五章指令集体系结构.ppt

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

X87FPU指令算术运算类(3)乘法FMUL/FMULP:相乘/相乘后出栈FIMUL:按int型相乘(4)除法FDIV/FDIVP:相除/相除后出栈FIDIV:按int型相除FDIVR/FDIVRPFIDIVR例如:fidivl0x8(%ebp)将指定存储单元操作数M[R[ebp]+8]中的int型数转换为double型,再将ST(0)除以该数,并将结果存入ST(0)中IA-32浮点操作举例问题:使用老版本gcc–O2编译时,程序一输出0,程序二输出却是1,是什么原因造成的?f(10)的值是多少?机器数是多少?IA-32浮点操作举例8048328:55push%ebp8048329:89e5mov%esp,%ebp804832b:d9e8fld1804832d:da7508fidivl0x8(%ebp)8048330:c9leave8048331:c3retdoublef(intx){return1.0/x;}两条重要指令的功能如下。fld1:将常数1压入栈顶ST(0)fidivl:将指定存储单元操作数M[R[ebp]+8]中的int型数转换为double型,再将ST(0)除以该数,并将结果存入ST(0)中0.1=0.00011[0011]B=0.00011001100110011001100110011…Bf(10)=0.1IA-32浮点操作举例main:8048334:55push%ebp8048335:89e5mov%esp,%ebp8048337:83ec08sub$0x8,%esp804833a:83e4f0and$0xfffffff0,%esp804833d:83ec0csub$0xc,%esp8048340:6a0apush$0xa8048342:e8e1ffffffcall8048328f//计算a=f(10)8048347:dd5df8fstpl0xfffffff8(%ebp)//a存入内存804834a:c704240a000000movl$0xa,(%esp)8048351:e8d2ffffffcall8048328f//计算b=f(10)8048356:dd45f8fldl0xfffffff8(%ebp)//a入栈顶8048359:58pop%eax804835a:dae9fucompp//比较ST(0)a和ST(1)b804835c:dfe0fnstsw%ax//把FPU状态字送到AX804835e:80e445and$0x45,%ah8048361:80fc40cmp$0x40,%ah8048364:0f94c0sete%al8048367:5apop%edx8048368:0fb6c0movzbl%al,%eax804836b:50push%eax804836c:

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档