基于MIPS32Core处理器的汇编器的设计与实现.docVIP

基于MIPS32Core处理器的汇编器的设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《软件工程课程设计》报告 基于MIPS32Core处理器的汇编器的设计与实现 ——语法分析 2011年 12 月 14 日 目 录 第一章 概述 1 1.1 汇编器设计的背景和意义 1 1.1.1 汇编器设计的背景 1 1.1.2 汇编器设计的意义 1 1.2 汇编器设计技术 2 第二章 可行性研究 3 2.1 技术可行性 3 2.2 操作可行性 3 2.3 经济可行性 3 第三章 需求分析 4 3.1 功能需求 4 3.2 出错处理需求 4 3.3 接口需求 4 3.4 性能需求 4 第四章 总体设计 5 4.1 文法定义 5 4.2 构建预测分析表 8 第五章 详细设计 14 5.1 分析栈设计 14 5.2 预测分析程序 15 5.3 语法分析器 16 第六章 编码实现与测试用例设计 17 6.1 编码实现 17 6.1.1 预测分析表和产生式表的实现 17 6.1.2 分析栈的实现 18 6.1.3 预测分析程序的实现 19 6.1.4 语法分析器的实现 20 6.2 测试用例设计 22 第七章 测试与运行记录 24 7.1 语法分析器测试 24 7.2 汇编器测试 25 结束语 27 参考文献 28 第一章 概述 1.1 汇编器设计的背景和意义 1.1.1 汇编器设计的背景 随着计算机技术的飞速发展,在各行各业中嵌入式系统应用越来越广泛。移动设备、汽车电子、数码家电等嵌入式产品迅速发展,因此嵌入式硬件和软件的研发成为了时下的一个热点。 为了深入地探讨RISC风格的MIPS嵌入式处理器的原理和设计,本小组基于MIPS32 Core处理器架构设计一款具有49条机器指令的处理器。处理器的测试和运行离不开编译器,因此本小组计划为该处理器设计和实现基于该处理器的汇编器。 虽然现在已经有很成熟的一些编译系统(如GCC)能够完成从高级语言直接到机器语言的翻译,但是其移植对于处理器设计人员来将是极具挑战性的。本小组完成的设计主要是基于MIPS32Core指令集的子集完成的设计,因此想进行GCC等编译系统的移植更加困难。因此设计一个汇编器对于测试处理器的功能和完善处理器的设计很重要。 1.1.2 汇编器设计的意义 汇编器的设计是整个编译系统的一部分,也是离硬件最接近的一部分。汇编器的设计可以帮助硬件设计人员更好地理解软件是如何在硬件上执行的,从而有效地对不同层次的功能抽象——决定哪些功能应该由硬件电路解决和哪些功能由软件进行解决。 汇编器的设计和实现涉及编程语言、计算机体系结构、语言理论、算法和软件工程等领域的相关知识,对于学科知识的综合运用能力具有相当高的要求。汇编器的设计同样涉及编译器设计的每一个阶段,因此从设计汇编器入手对设计和移植编译器具有较大的帮助。 1.2 汇编器设计技术 汇编语言是一种面向机器的低级语言。汇编器主要是完成从汇编语言到目标机器语言的翻译。实现汇编器除了将汇编器源程序翻译成机器语言外,根据汇编语言的特征提供一些其他的功能如处理伪指令、进行错误检查等。 汇编器主要包含以下几个功能模块:词法分析器、语法分析器、机器代码生成器、错误处理和符号表的管理,如图1.1所示。词法分析器根据汇编语言的词法将源程序文件的字符组成单词;语法分析器根据汇编语言的语法将词法分析器生成的单词组成句;机器码生成器主要负责将依据翻译规则将完整的句子翻译成相应的机器指令;错误处理主要完成错误信息的输出;符号表的管理主要对汇编程序中的标号及其属性和地址进行记录并提供给机器码生成器查找。 图1.1 汇编器的模块结构图 本文主要的任务是完成语法分析器的设计与实现。 第二章 可行性研究 2.1 技术可行性 本文的设计主要采用面向过程的设计方法,运用编译原理的理论知识构建相应的文法和分析数据。在Microsoft Visual C++ 6.0集成开发环境中,采用C语言实现汇编器的Win32控制台应用程序。因此,现有的理论知识和技术均足以实现该设计。 2.2 操作可行性 本文实现的汇编器的操作和GCC编译系统类似,采用记事本、UltraEdit等编辑软件进行源代码的输入。在windows控制台下,通过调用设计的汇编器程序,程序将源文件直接生成相应的机器码文件。该汇编器操作简单,因此在操作上可行。 2.3 经济可行性 对于汇编器软件的研发,仅需要一般配置的计算机,安装有Microsoft Visual C++ 6.0集成开发环境,即可进行该开发。在经济上,该设计的成本很低,因此在经济上,本文的设计不存在任何的限制。 第三章 需求分析 3.1 功能需求 语法分析器是整个汇编器的核心部分。语法分析器的主要任务是识别由词法分析器给出的单词符号是否是给定的文法描述的正确句子。通过语法分析,建立相应的语法树。 常用的语法分析方法有自顶向

文档评论(0)

独角戏 + 关注
实名认证
文档贡献者

本人有良好思想品德,职业道德和专业知识。

1亿VIP精品文档

相关文档