欢迎来到天天文库
浏览记录
ID:36622766
大小:731.50 KB
页数:31页
时间:2019-05-13
《基于MIPS32Core处理器的汇编器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《软件工程课程设计》报告基于MIPS32Core处理器的汇编器的设计与实现——语法分析2011年12月14日目录第一章概述11.1汇编器设计的背景和意义11.1.1汇编器设计的背景11.1.2汇编器设计的意义11.2汇编器设计技术2第二章可行性研究32.1技术可行性32.2操作可行性32.3经济可行性3第三章需求分析43.1功能需求43.2出错处理需求43.3接口需求43.4性能需求4第四章总体设计54.1文法定义54.2构建预测分析表8第五章详细设计145.1分析栈设计145.2预测分析程序155.3语法分析器16第六章编码实现与测试用例设计176.1编码实现176.1.1预测分析表和产
2、生式表的实现176.1.2分析栈的实现186.1.3预测分析程序的实现196.1.4语法分析器的实现206.2测试用例设计22第七章测试与运行记录247.1语法分析器测试247.2汇编器测试25结束语27参考文献28第一章概述1.1汇编器设计的背景和意义1.1.1汇编器设计的背景随着计算机技术的飞速发展,在各行各业中嵌入式系统应用越来越广泛。移动设备、汽车电子、数码家电等嵌入式产品迅速发展,因此嵌入式硬件和软件的研发成为了时下的一个热点。为了深入地探讨RISC风格的MIPS嵌入式处理器的原理和设计,本小组基于MIPS32Core处理器架构设计一款具有49条机器指令的处理器。处理器的测试和运
3、行离不开编译器,因此本小组计划为该处理器设计和实现基于该处理器的汇编器。虽然现在已经有很成熟的一些编译系统(如GCC)能够完成从高级语言直接到机器语言的翻译,但是其移植对于处理器设计人员来将是极具挑战性的。本小组完成的设计主要是基于MIPS32Core指令集的子集完成的设计,因此想进行GCC等编译系统的移植更加困难。因此设计一个汇编器对于测试处理器的功能和完善处理器的设计很重要。1.1.2汇编器设计的意义汇编器的设计是整个编译系统的一部分,也是离硬件最接近的一部分。汇编器的设计可以帮助硬件设计人员更好地理解软件是如何在硬件上执行的,从而有效地对不同层次的功能抽象——决定哪些功能应该由硬件电
4、路解决和哪些功能由软件进行解决。汇编器的设计和实现涉及编程语言、计算机体系结构、语言理论、算法和软件工程等领域的相关知识,对于学科知识的综合运用能力具有相当高的要求。汇编器的设计同样涉及编译器设计的每一个阶段,因此从设计汇编器入手对设计和移植编译器具有较大的帮助。1.2汇编器设计技术汇编语言是一种面向机器的低级语言。汇编器主要是完成从汇编语言到目标机器语言的翻译。实现汇编器除了将汇编器源程序翻译成机器语言外,根据汇编语言的特征提供一些其他的功能如处理伪指令、进行错误检查等。汇编器主要包含以下几个功能模块:词法分析器、语法分析器、机器代码生成器、错误处理和符号表的管理,如图1.1所示。词法分
5、析器根据汇编语言的词法将源程序文件的字符组成单词;语法分析器根据汇编语言的语法将词法分析器生成的单词组成句;机器码生成器主要负责将依据翻译规则将完整的句子翻译成相应的机器指令;错误处理主要完成错误信息的输出;符号表的管理主要对汇编程序中的标号及其属性和地址进行记录并提供给机器码生成器查找。图1.1汇编器的模块结构图本文主要的任务是完成语法分析器的设计与实现。第二章可行性研究2.1技术可行性本文的设计主要采用面向过程的设计方法,运用编译原理的理论知识构建相应的文法和分析数据。在MicrosoftVisualC++6.0集成开发环境中,采用C语言实现汇编器的Win32控制台应用程序。因此,现有
6、的理论知识和技术均足以实现该设计。2.2操作可行性本文实现的汇编器的操作和GCC编译系统类似,采用记事本、UltraEdit等编辑软件进行源代码的输入。在windows控制台下,通过调用设计的汇编器程序,程序将源文件直接生成相应的机器码文件。该汇编器操作简单,因此在操作上可行。2.3经济可行性对于汇编器软件的研发,仅需要一般配置的计算机,安装有MicrosoftVisualC++6.0集成开发环境,即可进行该开发。在经济上,该设计的成本很低,因此在经济上,本文的设计不存在任何的限制。第三章需求分析3.1功能需求语法分析器是整个汇编器的核心部分。语法分析器的主要任务是识别由词法分析器给出的单
7、词符号是否是给定的文法描述的正确句子。通过语法分析,建立相应的语法树。常用的语法分析方法有自顶向下分析法和自底向上分析法。本文采用自顶向下分析方法。自顶向下分析方法也称为面向目标的生成方法,就是从文法的开始符号推导出与输入的单词串完全匹配的句子。若输入的单词串是给定文法的句子,则能推出;否则必然出错。这种分析过程本质上就是一种试探性的过程,该过程反复使用不同的规则来谋求匹配输入的单词。3.2出错处理需求语法分析器本身不具
此文档下载收益归作者所有