- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 一 概述 1 目标代码的形式 (1)能立即执行的目标代码; (2)待装配的浮动目标代码; (3)汇编语言目标代码. 2 目标代码生成原则 (1) 生成的目标代码短而高效; (2) 充分利用寄存器,减少访问内存的次数. * 二 计算机模型 假设计算机只有四种类型的机器指令: 指令类型 指令形式 意义 直接地址型 op Ri,M (Ri)op(M) →Ri 寄存器型 op Ri,Rj (Ri)op(Rj) →Ri 变址型 op Ri,C(Rj) (Ri)op((Rj)+C) →Ri 间址型 op Ri,*M (Ri)op((M)) →Ri op Ri,*Rj (Ri)op((Rj)) →Ri op Ri,* C(Rj) (Ri)op(((Rj)+C)) →Ri * 三 代码生成器及辅助信息 基本思想: 当生成计算某变量值的目标代码时,尽量让该变量 的值保存在某个寄存器中,直到该寄存器要用来存放其它变量的值 或者基本块结束之前不再引用该变量的值,才把该变量的值存放 到存储器中. 为了能知道某变量的值是否在寄存器中,在那个寄存器中,是 否该送回内存中等,需要一些辅助信息. 1 待用信息 当翻译到四元式 A:=B op C 时,我们需要知道基本块内后面 的四元式是否还引用 A B C ,是哪些四元式引用? 定义: 设四元式(i) 对A定值且到达四元式( j) ,四元式 ( j) 中引用 A ,则称 j 是四元式 i 的变量A 的待用信息; 满足上述定义 的所有 j, 构成了 A 的待用信息集. * 采用如下方式表示待用信息集,为每个四元式建立一个如下的表项: 定值名 指针 引用名1 指针 引用名2 指针 A * B * C * A * B Nil C Nil 通过链表把 A 的所有待用信息连接起来.当执行到 A:=B op C 时,就可以检查待用信息链,确定 A B C 在该四元式之后是否还引 用(若为 Nil ,表示不再引用, 此时,应将非活跃变量的寄存器释放, 存入内存中). * 2 寄存器描述 假设系统可以使用的寄存器为: R1,R2,........,Rn 每个寄存器都需要描述是否被占用,被哪些变量占用? 假设 RVALUE[ Ri] 为集合类型,用于描述寄存器 Ri 的使用情况, 也即哪些变量同时占用了 Ri. 3 变量描述 在翻译过程中,应了解基本块中的每个变量的存储状况,确定 变量的值是在寄存器中还是在内存中? 假设 AVALUE[ A] 为集合类型,用于描述变量 的存储情况: AVALUE[ A]= { Ri} A的有效值在寄存器中; { M} A的有效值在内存中; { Ri,M} 均有效. * 4 代码生成算法 下面,仅讨论一般情形 A:=B op C 的代码翻译, GetReg( A:= B op C) 函数返回一个寄存器 R ,存放变量 A的值. 代码生成算法: (对四元式 A:= B op C) (1) 令 R = GetReg( A:= B op C) ; (2) 由 AVALUE[ A ] , AVALUE[ B ] 确定 变量 B C 值的有 效存储位置 B’,C’ (3) 若 B’=R 生成 机器指令 op B’,C’ 否则 生成机器指令 mov R,B’ op R,C’ 若 B’=R ,则删除 AVALUE[
您可能关注的文档
- Glee_English Introduction_欢乐合唱团英文简介.ppt
- IBM培训体系介绍讲解课程课件.ppt
- Legal English 法律英语.ppt
- PCB废水分类及特性.ppt
- Political center in the US & China (oral English).ppt
- Portable Grinder Safety-Chinese and English[安全使用手持式砂轮机].ppt
- ppt背景图片(经典_简约类).ppt
- ppt动态素材动态元素.ppt
- PPT技巧--简易图形模板.ppt
- ppt教程精美模板.ppt
- 5.3.1函数的单调性(教学课件)--高中数学人教A版(2019)选择性必修第二册.pptx
- 部编版道德与法治2024三年级上册 《科技提升国力》PPT课件.pptx
- 2.7.2 抛物线的几何性质(教学课件)-高中数学人教B版(2019)选择性必修第一册.pptx
- 人教部编统编版小学六年级上册道德与法治9 知法守法 依法维权(第一课时)课件.pptx
- 三年级上册品德道德与法治《学习伴我成长》.pptx
- 部编版小学道德与法治六年级上册6 人大代表为人民 课件.pptx
- 部编版小学道德与法治六年级上册1感受生活中的法律第一课时课件.pptx
- 2.5.2圆与圆的位置关系(教学课件)-高中数学人教A版(2019)选择性必修第一册.pptx
- 2.5.1直线与圆的位置关系-(教学课件)--高中数学人教A版(2019)选择性必修第一册.pptx
- 14.1.1 同底数幂的乘法(教学课件)-初中数学人教版八年级上册.pptx
文档评论(0)