第7章节编译原理目标代码生成.pptVIP

  • 4
  • 0
  • 约2.27万字
  • 约 74页
  • 2017-04-01 发布于四川
  • 举报
第7章节编译原理目标代码生成

第7章 目标代码生成 7.1 一个简单代码生成器 7.2 汇编指令到机器代码的翻译概述 7.1 一个简单代码生成器 我们首先介绍一个简单的代码生成器,此生成器依次把每条中间代码变换成目标代码,并且在一个基本块范围内考虑如何充分利用寄存器的问题。一方面,在基本块中,当生成计算某变量值的目标代码时,尽可能地让该变量的值保留在寄存器中(即不编出把该变量的值存到内存单元的指令),直到该寄存器必须用来存放其它变量的值或已达基本块出口为止;另一方面,后续的目标代码尽可能地引用变量在寄存器中的值而不访问内存。 例如,一C语言语句为A=(B+C)*D+E,把它翻译为四元式G: T1=B+C T2=T1*D A=T2+E 如果不考虑代码的效率,可以简单地把每条中间代码(四元式)映射成若干条目标指令,如将x=y+z映射为: MOV AX, y /*AX为寄存器*/ ADD AX, z MOV x, AX 其中,x、y、z均为数据区的内存变量。

文档评论(0)

1亿VIP精品文档

相关文档