- 3
- 0
- 约9.01千字
- 约 59页
- 2018-11-05 发布于广西
- 举报
中国科大 第八章 代 码 生 成 本章内容 一个简单的代码生成算法 涉及存储管理,指令选择,寄存器分配和计算次序选择等基本问题 8.1 代码生成器的设计中的问题 8.1.1 目标程序 可执行目标模块 可重定位目标模块 允许程序模块分别编译 调用其它先前编译好的程序模块 汇编语言程序 免去编译器重复汇编器的工作 从教学角度,增加可读性 8.1 代码生成器的设计中的问题 8.1.2 指令的选择 目标机器指令系统的性质决定了指令选择的难易程度,指令系统的统一性和完备性是重要的因素 指令的速度和机器特点是另一些重要的因素 8.1 代码生成器的设计中的问题 若不考虑目标程序的效率,指令的选择是直截了当的 三地址语句x = y + z(x,y和z都是静态分配) MOV y, R0 /? 把y装入寄存器R0 ?/ ADD z, R0 /? z加到R0上 ?/ MOV R0, x /? 把R0存入x中 ?/ 逐个语句地产生代码,常常得到低质量的代码 8.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 8.1 代码生成器的设计中的问题 语句序列 a = b + c d =
原创力文档

文档评论(0)