网站大量收购独家精品文档,联系QQ:2885784924

[工学]lect10-目标代码生成.pdf

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]lect10-目标代码生成

北京大学信息科学技术学院 2010年春季学期 《编译技术》 第第1010章章 目标代码生成目标代码生成 Target Code Generation 内容提要内容提要内容提要内容提要 1010.00 目标代码生成概述目标代码生成概述 10.1 目标计算机模型 10.2 目标代码生成方法 10.310.3 寄存器寄存器分配分配 10.4 由DAG生成目标代码 10.5 依赖于目标计算机的优化依赖于目标计算机的优化 2 2011年春季学期 《编译技术》课程 北京大学信息科学技术学院 .0000 目标代码生成概述目标代码生成概述目标代码生成概述目标代码生成概述 中间代码中间代码 代码生成器代码生成器 目标代码 符号表  目标代码一般有以下三种形式:  能够立即执行的机器语言代码,所有地址已经定位  待装配的机器语言模块。执行时,由连接装配程序 把它们和某些运行程序连接起来,转换成能执行的 机器语言代码机器语言代码;;  汇编语言代码。尚须经过汇编程序汇编,转换成可 执行的机器语言代码执行的机器语言代码。。 3 2011年春季学期 《编译技术》课程 北京大学信息科学技术学院 代码生成主要解决的问题代码生成主要解决的问题代码生成主要解决的问题代码生成主要解决的问题  代码生成主要考虑代码生成主要考虑的的问题问题::  如何使生成的目标代码较短  如何充分利用计算机的寄存器,减少目标代码 中访问存贮单元的次数  如何充分利用计算机的指令系统的特点  基本技术基本技术  指令选择  寄存器分配  计算顺序选择计算顺序选择 4 2011年春季学期 《编译技术》课程 北京大学信息科学技术学院 .1111 目标机器目标机器目标机器目标机器  按字节编址按字节编址,,以以44个字节为一个字个字节为一个字  通用寄存器R , R , …, R 0 1 n-1  两地址指令形式: opop source,source, destinationdestination   其中op是一个操作码,source 和destination 称 为源和目的为源和目的,,是数据域是数据域。。例如有如下的操作码例如有如下的操作码:: MOV (将源移到目的中) ADDADD ((将源加到目的中将源加到目的中)) SUB (在目的中减去源) 5 2011年春季学期 《编译技术》课程 北京大学信息科学技术学院 目标机器的地址方式目标机器的地址方式目标机器的地址方式目标机器的地址方式  contents(a)contents(a)表示由表示由aa所代表的寄存器或存储单元的内容所代表的寄存器或存储单元的内容。。  有关地址方式及它们的汇编语言形式和有关开销如下表 所示: 地址方式

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档