第12章代码生成2学时(345KB).pptVIP

  • 3
  • 0
  • 约2.86千字
  • 约 28页
  • 2018-03-29 发布于未知
  • 举报
第12章 代码生成 代码生成要考虑的主要问题 基本块的代码生成(在一个基本块范围内考虑如何充分利用寄存器的问题) 基于树重写的代码生成 l 代码生成要考虑的主要问题 ——具体细节依赖于目标机器和操作系统 共同的问题: 1. 充分利用寄存器 基本块中 全局 寄存器分配:不把寄存器平均分配给各个变量使 用,而是从可用的寄存器中分出几个,固定分配给几个变量单 独使用。标准——以各变量在循环内需要访问主存单元的次数 为标准。 2. 选择计算机指令系统 3. 选择计算次序 目标代码的三种形式 地址代真的机器代码 待装配的机器代码模块 汇编语言 (宏汇编) 机器指令形式 (op source ,destination) ADD s,d // d+s SUB s,d //d-s MOV s,d //s ? d 机器指令开销 (cost) MOV R,M 开销 2 ADD #1 ,R 开销 2 MOV R0,R1 开销 1 目标机器的地址方式 地址方式 汇编形式 地址 增加的开销 直接地址方式 M M 1 寄存器方式 R R 0 间接寄存器方式 *R contents(R) 0 索引方式 c(R) c+contents(R) 1 间接索引方式 *c(R)

文档评论(0)

1亿VIP精品文档

相关文档