第十二章代码生成.pptVIP

  • 1
  • 0
  • 约3.51千字
  • 约 28页
  • 2026-09-06 发布于重庆
  • 举报

第12章代码生成学习目标掌握:基本块代码生成算法,寄存器分配算法理解:待用信息,活跃信息12.1 代码生成概述12.2 一个计算机模型12.3 一个简单的代码生成器12.1代码生成概述代码生成的任务 把中间代码(经过优化或未经过优化)作为输入,将其转换成特定机器的机器语言或汇编语言作为输出,这样的转换程序称为代码生成器(CodeGenerator)。目标代码生成需要考虑的基本问题:如何使生成的目标代码较短如何充分利用计算机的寄存器,减少目标代码访问存储单元的次数目标代码生成的一些共同的问题,而不讨论某个特定机器的代码生成问题寄存器分配算法 目标代码的执行效率很大程度依赖于寄存器的使用;基本块的代码生成算法 寄存器分配算法仅限定在一个基本块的范围内,以四元式的中间代码作为输入,以一个称作M的模型机的汇编语言作为输出。12.2一个计算机模型 M模型机具有n个通用寄存器R1,R2,R3,…,Rn,它们既可以作为累加器,又可以作为变址器。 约定:op表示运算,C表示常量;M表示内存单元(用变量名表示该变量所在的单元),Ri表示寄存器;*表示间接寻址寻址类型指令格式意义(设op是二目算符)直接型opRi,M(Ri)op(M)=Ri寄存器型opRi,Rj(Ri)op

文档评论(0)

1亿VIP精品文档

相关文档