- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理》第十二章习题答案下载,编译原理课后习题答案,编译原理复习题答案,编译原理习题答案,论语十二章练习题答案,编译原理第五章答案,编译原理第七章答案,编译原理第四章答案,编译原理第六章答案,编译原理复习题
《编译原理》课后习题答案第十二章
第 12 章 代码生成
第 1 题
一个编译程序的代码生成要着重考虑哪些问题?
答案:
代码生成器的设计要着重考虑目标代码的质量问题,而衡量目标代码的质量主要从占用
空间和执行效率两个方面综合考虑。
盛威网( )专业的计算机学习网站 1
《编译原理》课后习题答案第十二章
附加题
问题 1:
决定目标代码的因素有哪些?
答案:
决定目标代码的因素主要取决于具体的机器结构、指令格式、字长及寄存器的个数和种
类,并与指令的语义和所用操作系统、存储管理等都密切相关。又由于目标代码的执行效率
在很大程度上依赖于寄存器的使用,所以目标代码与寄存器的分配算法也有关。
问题2 :
为什么在代码生成时要考虑充分利用寄存器?
答案:
因为当变量值存在寄存器时,引用的变量值可直接从寄存器中取,减少对内存的存取次
数,这样便可提高运行速度。因此如何充分利用寄存器是提高目标代码运行效率的重要途径。
问题3 :
寄存器分配的原则是什么?
答案:
寄存器分配的原则是:
(1) 当生成某变量的目标代码时,尽量让变量的值或计算结果保留在寄存器中,直到寄
存器不够分配时为止。
(2) 当到基本块出口时,将变量的值存放在内存中,因为一个基本块可能有多个后继结
点或多个前驱结点,同一个变量名在不同前驱结点的基本块内出口前存放的 R 可能不同,
或没有定值,所以应在出口前把寄存器的内容放在内存中,这样从基本块外入口的变量值都
在内存中。
(3) 对于在一个基本块内后边不再被引用的变量所占用的寄存器应尽早释放,以提高寄
存器的利用效率。 对基本块的划分可按基本块的划分算法(见 11.2.1)在生成四元式的目标代
码时进行,以区分基本块的入口和出口。
盛威网( )专业的计算机学习网站 2
文档评论(0)