第9章目标代码生成.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:29 大小:344KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

第9章目标代码生成.ppt

第9章目标代码生成.ppt

预览

免费试读已结束,剩余 19 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

9.1概述一.目标代码生成的任务代码生成器的输入除中间代码外还包括符号表中的信息,生成的目标代码一般有如下三种形式2.待装配的机器语言模块,当需要执行时,由连接装配程序把它们与另外一些运行子程序连接起来,组合成可执行的机器语言代码。二.设计代码生成器时要着重考虑目标代码的质量9.2假想计算机模型依次把四元式变换成目标代码,并在一个基本块内考虑如何充分利用寄存器。(1)把基本块内还要使用的变量的值尽可能地保存在寄存器中;当翻译一个四元式如A=BopC时,我们需要知道在基本块中还有哪些四元式要对变量A、B、C进行引用。例(i)A=T1(j)T2=AOPX(2)活跃变量9.3简单代码生成器9.3简单代码生成器待用信息和活跃信息在四元式上的标记如下:在代码生成中进行寄存器分配,我们需随时掌握各寄存器的使用情况4.建立变量地址描述数组AVALUE,动态地记录各变量现行值的存放位置有了上述对寄存器和地址的描述,我们可以给出一个简单代码生成算法。调用函数GETREG(i:A=BopC)得到存放A的现行值的寄存器R9.3简单代码生成器9.4代码生成器的自动生成技术形式描述技术的主要优点是:把实现者从选择计算给定构造的代码中解放出来,实现者只需要以形式化描述每条目标指令的精确意义,生成器将自动地查询机器描述,找出为完成所需的计算的指令或指令串。本章小结本章小结本章小结本章小结(2)活跃变量