- 8
- 0
- 约6.14千字
- 约 36页
- 2017-09-22 发布于广东
- 举报
* * 第八章 代码生成 序 8.1 目标机器 8.2 运行存储管理 8.3 基本块和流图 8.4 下次引用信息 8.5 一个简单的代码生成器 序 代码生成器 中间代码 符号表 目标代码 中间代码: 后缀式,三地址代码,语法树。 符号表中的项:名字,类型, 嵌套深度,偏移量 目标代码:绝对机器代码,可再定位代码, 汇编 8.1 目标机器 ? ??? 按字节编址,以4个字节为一个字. 通用寄存器R0,R1,…,Rn-1。 两地址指令形式: op source,destination 其中op是一个操作码,source和destination称为源和目的,是数据域。例如有如下的操作码: MOV (将源移到目的中) ADD (将源加到目的中) SUB (在目的中减去源) contents(a)表示由a所代表的寄存器或存储单元的内容。 ????有关地址方式及它们的汇编语言形式和有关开销如表8.1所示。 表8.1 目标机器的地址方式 指令开销 ????开销是与一条指令的长度(按字计算)相对 应的。对绝大多数机器和绝大多数指令而言, 用来从存储器中获取一条指令的时间超过了执 行该指令的时间。 指令开销=源地址开销?+目的地址开销+1 ? 1. MOV R0,R1 1????2.MOV R5,M 2????3.ADD #1,R3 2????4.SUB 4(R0),*12(R1) 3 contents(contents(12+contents(R1))) -contents(4+contents(R0)) ???生成高质量目标机器代码的一些困难。 如,?a:=b+c用不同的指令序列来实现: 1.MOV b , R0 ADD c ,R0 ????????????cost=6 MOV R0 , a 2.MOV b , a ADD c , a ?????????????? cost=6 假定R0,R1和R2中分别存放了a,b和c的 地址: 3.MOV *R1 , *R0 ADD *R2 , *R0 ??????????cost=2 ?? 假定R1和R2中分别包含b和c的值,并且b的 值 在这个赋值以后不再需要,则我们还有: 4.ADD R2 , R1 MOV R1 , a ?????????????cost=3 ????有效地利用它的地址能力和寄存器。 8.2 运行存储管理? ? 运行时刻管理活动记录应生成哪些代码,静态分配和栈式分配。? ??? 运行时活动记录的分配和释放是作为过程调用和返回序列的一部分,集中讨论如下三地址语句生成哪些代码: 1. call (调用); 2. return (返回); 3. halt (暂停); 4. action (动作〕,为其它语句占有位置。 三地址代码 /*s的代码 */ action1 call p action2 halt /*p的代码 */ action3 return S的活动记录 返回地址 arr i j p的活动记录 返回地址 buf n 8.2.1静态分配管理 ???? call调用语句 MOV #here+20,callee.static-area GOTO callee.code-area MOV指令存放返回地址。 GOTO指令将控制转移到被凋用过程的目标代码。callee.static-area和callee.code-
您可能关注的文档
- DA & AD转换器及其与单片机接口.ppt
- Delphi_数据库程序设计.ppt
- e01.Introduction绪论.ppt
- e03.Connective tissue结缔组织.ppt
- e04.Cartilage & Bone软骨和骨.ppt
- e05.Blood and Hemopoiesis血液淋巴和血发生.ppt
- e06.Muscular Tissue肌组织.ppt
- e09.Circulat0ry system循环系统.ppt
- e10.Immune system免疫系统.ppt
- e11.Skin皮肤.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)