机器级目标代码文件

2022-07-14 04:10:13   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《机器级目标代码文件》,欢迎阅读!
机器,目标,代码,文件


机器级目标代码文件

目标代码生成编译程序最后一个阶段是目标代码生成。它通常在语义分析后或者优化后的中间代码上进行,并将中间代码转化为等价的目标代码。本章主要介绍简单代码生成器的设计和构造方法9.1概述我们知道,编译程序的最终目的是将源程序翻译成等价的目标程序,为了达到此目的,编译程序除了对源程序进行词法分析、语法分析和语义分析外,还必需将语义分析后或者优化后的中间代码转换为等价的目标代码。一.目标代码生成的任务9.1概述代码生成器目标代码程序中间代码程序代码生成器的输入除中间代码外还包括符号表中的信息成的目标代码一般有如下三种形式1.能够立即执行的机器语言代码,它们通常存放在固定的存储区中,编译后可直接执行。9.1概述2.待装配的机器语言模块,当需要执行时,由连接装配程序把它们与另外一些运行子程序连接起来,组合成可执行的机器语言代码。3.汇编语言程序,必须通过汇编程序汇编成可执行的机器语言代码。9.1概述二.设计代码生成器时要着重考虑目标代码的质量9.1概述衡量目标代码的质量1.存储空间:生成的目标代码短。2.执行效率:充分利用寄存器,减少访问存储单元的次数。9.2假想计算机模型具体设计一个代码生成器需要考虑机器结构、系统指令格式等方面的问题。由于计算机体系结构和操作系统的多样性,我们在这里不做具体介绍,仅仅以一个假想的计算机模型为例,简单讨论代码生成的基本原理。假想计算机的指令格式见P162依次把四元式变换成目标代码,并在一个基本块内考虑如何充分利用寄存器。9.3简单代码生成器在设计代码生成器时,为考虑充分利用寄存器,我们须要考虑下面两点:简单代码生成器功能(1)把基本块内还要使用的变量的值尽可能地保存在寄存器中;1.给出寄存器的分配原则(2)在基本块内,把不再使用的变量所占用的寄存器及






时释放掉;3)当到基本块出口时,将变量的值存放在内存中。9.3简单代码生成器当翻译一个四元式如A=BopC时,我们需要知道在基本块中还有哪些四元式要对变量ABC进行引用。




本文来源:https://www.wddqxz.cn/1981b93fc181e53a580216fc700abb68a982ada2.html

相关推荐