- 0
- 0
- 约2.28千字
- 约 19页
- 2019-03-09 发布于福建
- 举报
第九章 目标等代码生成
第九章 目标代码生成 * * 源程序 编译 前端 代码 生成 符号表 代码 优化 目标程序 中间代码 中间代码 对代码生成器的要求是严格的,它输出的代码必须正确而且质量高 。 质量高的含义是它应该有效地利用机器的资源, 此外,代码生成器本生也应该高效地运行. 代码生成的输入:中间代码和符号表 目标代码的形式: 机器语言代码 机器语言模块 汇编语言代码 目标代码生成重点要考虑的问题: 生成的目标代码较短 充分利用寄存器,减少存储单元访问次数 9.1基本问题 一.代码生成器的输入 已确定的中间代码形式 所有信息已填入符号表 name type kind val addr a int var ? O b Real var ? 2 c real var ? 6 ? int const 100 ? d int var ? 8 用于产生数据对象的运行时地址 二.目标程序 绝对机器代码:所有地址均已定位, 可立即执行 可再定位机器代码:允许子程序单独 编译 汇编语言:使代码生成变得容易 三.指令选择 丰富的机器指令会使生成的目标代码质量更、高、速度更快 例:I=I+1 用inc I 实现比用 LD R0 I, ADD R0 #1 ST R0 I 生成的代码质量高 四、存贮管理 把源程序中的名字映射成运行时数据对象的地址是由前端的代码生成器共同完成的 PROCEDURE sub(x,y:real); VAR i ,j:integer; a:ARRAY[1..5] OF real; e, f : real; BEGIN ? f :=e+i*j; ? END; f 符号表 名字 形 类型 偏移量 活动记录布局= 老SP (sp,0) x 形 real 3 返回地址 (sp,1) y 形 real 4 2 (sp,2) (sp,3) (sp,5) i int 5 i (sp,9) j int 9 j (sp,13) a ?array 13 a (sp,53) e e real 53 (sp,61) f real 61 (sp,4) x y t1 t2 t3 (sp,62) (sp,63) (sp,64) 中间代码 * i j t1 * (sp ,5) (sp ,9) (sp ,62) + e t1 t2 + (sp ,53) (sp ,62) (sp ,63) itor t2 – t3 itor (sp ,63) – (sp ,64) := t3 – f := (sp ,64) – (sp ,61) 五、寄存器的分配 操作数在寄存器中的指令通常要比操作数在内存中的指令短一些,执行也要快一些 充分利用寄存器对生成好的代码尤其重要。 1、选择要驻留在寄存器中的变量 2、选出分配给驻留在寄存器中的变量的寄存器 需要考虑的问题: 寄存器的分配原则: 1. 选择已被变量占用,但变量以后可能不被引用的寄存器 2.已分配寄存器,且存放的变量在较远的结点才被引用 3.分配空闲的寄存器 使用专用寄存器 六、计算次序的选择 七、代码生成方法 计算执行的次序会影响目标代码
您可能关注的文档
- 第八章 斜坡变儿形破坏工程地质研究.ppt
- 第八章 题道路平面交叉设计.ppt
- 第八章网理壳结构.ppt
- 第八章甾临体及其苷类.ppt
- 第八章咽喉科自疾病喉喑..ppt
- 第二部分 完全信下息动态博弈 第二章 展开型博弈.ppt
- 第八章建筑形体是的表达方法.ppt
- 第八章理电力系统不对称短路的分析与计算.ppt
- 第八章 古代木构建筑的吧特征与详部演变.ppt
- 第二节 硫化氢的实验提室制法 闫梅如.ppt
- 抚顺石化工贸中心资金控制体系优化研究:理论、实践与创新.docx
- 探秘中华通草蛉滞育发育:生殖生物学特征与调控机制.docx
- 稀有鮈鲫受精机制及影响因素的深度剖析.docx
- 从美国强制反诉制度探寻我国民事诉讼反诉制度的革新路径.docx
- 中国职业足球管理体制:演进、困境与突破路径探究.docx
- 论我国网上个体经营活动法律规制的完善与实践.docx
- 论取保候审期间脱逃后又归案的自首认定困境与出路.docx
- 动调陀螺赋能双轴稳定平台控制系统的关键技术与优化策略研究.docx
- 论我国犯罪被害人国家补偿制度的构建与完善:法理、实践与发展路径.docx
- 光纤光栅传感监控软件:原理、应用与创新发展研究.docx
最近下载
- 实验室内电气安全培训课件.pptx VIP
- 护理伦理与法规课程标准.doc VIP
- 远信工业股份有限公司年产200台热风拉幅定形机建设项目 环评报告表.pdf VIP
- 2025年下半年中小学教师资格考试语文学科知识与教学能力真题(初级中学)附参考答案.docx VIP
- 质量管理体系检查登记表.docx VIP
- 安徽镜湖总部经济园建设项目可行性设计方案.doc VIP
- 2026年春教科版(新教材)小学科学二年级下册(全册)教学设计(附目录P91).pdf
- 给排水工程施工课件.pptx VIP
- 实验室安全用电培训课件.ppt VIP
- 综合应用能力事业单位考试(医疗卫生类E类)试题与参考答案(2025年).docx VIP
原创力文档

文档评论(0)