- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 目标代码生成
第11章 代 码 生 成
本章内容
• 一个简单的代码生成算法
• 涉及存储管理,指令选择,寄存器分
配和计算次序选择等基本问题
源程序 中间 代 码 中间 代码 目标
前端 代码 优 代码 生成 程序
化 器
器
11.1 代码生成器的设计中的问题
11.1.1 目标程序
• 可执行目标模块
• 可重定位目标模块
– 允许程序模块分别编译
– 调用其它先前编译好的程序模块
• 汇编语言程序
– 免去编译器重复汇编器的工作
– 从教学角度,增加可读性
11.1 代码生成器的设计中的问题
11.1.2 指令的选择
目标机器指令系统的性质决定了指令选择的
难易程度,指令系统的统一性和完备性是
重要的因素
指令的速度和机器特点是另一些重要的因素
11.1 代码生成器的设计中的问题
若不考虑目标程序的效率,指令的选择是直
截了当的。
三地址语句x := y + z (x,y和z都是静态分配)
MOV y, R0 /* 把y装入寄存器R0 */
ADD z, R0 /* z加到R0上 */
MOV R0, x /* 把R0存入x 中 */
11.1 代码生成器的设计中的问题
逐个语句地产生代码,常常得到低质量的代码
语句序列 a := b + c的代码如下
d := a + e
MOV b, R0
ADD c, R0
MOV R0, a
MOV a, R0
ADD e, R0
MOV R0, d
11.1 代码生成器的设计中的问题
语句序列 a := b + c
d := a + e
的代码如下
MOV b, R0
ADD c, R0
MOV R0, a
MOV a, R0 -- 多余的指令
ADD e, R0
MOV R0, d
11.1 代码生成器的设计中的问题
语句序列 a := b + c
d := a + e
的代码如下
MOV b, R0
ADD c, R0
MOV R0, a
MOV a, R0 -- 多余的指令
ADD e, R0 -- 若a不再使用,第三条也
MOV R0, d -- 多余
11.1 代码生成器的设计中的问题
11.1.3 寄存器分配
运算对象处于寄存器中的指令通常比运算对
象处于内存的指令要短一些,执行也快一些
• 寄存器分配
选择驻留在寄存器中的一组变量
• 寄存器指派
挑选变量要驻留的具体寄存器
11.1 代码生成器的设计中的问题
11.1.4 计算次序的选择
您可能关注的文档
- 经销商优秀活动方案案例集.pdf
- 绘图及仿宋字讲义.pdf
- 给水工程课件(一).pdf
- 结构动力学第6章.pdf
- 绝对挑战-职业测评试题与答案.pdf
- 绝密汽车车灯配光精讲.pdf
- 结构分析-质谱法.pdf
- 绝文!用4000汉字著成的韵文《中华字经》.pdf
- 统一通信与协助-gartner.pdf
- 绝缘检测仪说明书.pdf
- 2025广东东莞市莞城医院招聘纳入岗位管理的编制外人员9人模拟试卷及参考答案详解.docx
- 2025国家农业农村部食物与营养发展研究所综合办公室助理招聘4人考前自测高频考点模拟试题及完整答案详.docx
- 2025广东南粤银行揭阳分行招聘模拟试卷及参考答案详解一套.docx
- 2025广东清远市招聘事业编制高层次人才6人模拟试卷参考答案详解.docx
- 2024年田东县定向招聘服务期满服务基层项目人员(13人)考前自测高频考点模拟试题及参考答案详解1套.docx
- 2025河北雄安雄州建设投资集团有限公司财务人员和首席营销官招聘3人模拟试卷带答案详解.docx
- 2025甘肃庆阳市庆城县事业单位引进高层次和急需紧缺人才4人(第三批)考前自测高频考点模拟试题带答案.docx
- 2025春季中国航空工业集团导弹院校园招聘模拟试卷附答案详解.docx
- 2025年吉林银行总行社会招聘(13人)考前自测高频考点模拟试题及完整答案详解1套.docx
- 2025北京海淀青龙桥社区卫生服务中心面向社会招聘2人模拟试卷及参考答案详解1套.docx
文档评论(0)