- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《软件工程课程设计》报告
基于MIPS32Core处理器的汇编器的设计与实现
符号表管理和出错处理
(2011/2012学年 第一学期)
目录
第一章 系统概述 3
1.1系统开发背景和意义 3
1.2系统的主要任务 3
1.3系统开发环境 4
第二章 可行性研究 5
2.1技术可行性 5
2.2经济可行性 5
3.3操作可行性 5
第三章 需求分析 6
3.1符号表管理 6
3.2错误处理 7
3.3符号表及错误处理作用 7
第四章 总体设计 9
4.1符号表的建立和访问 9
4.2符号表模块图 9
4.3符号表操作 10
4.4错误处理模块图 11
第五章 详细设计 13
5.1正则表达式编码 13
5.2符号表管理模块设计 15
5.3错误处理模块设计 16
5.4人机界面设计 17
5.5过程设计工具 18
第六章 编码实现与测试用例设计 19
6.1符号表编码实现 19
6.1.1查找功能 19
6.2.2插入操作 20
6.1.3地址计算操作 22
6.2错误处理编码实现 23
6.3测试用例的设计 24
6.4主程序代码设计 26
第七章 测试与运行记录 31
7.1测试环境介绍 31
7.2测试方法介绍 31
7.3运行结果记录 31
第八章 设计完成结果分析与获得的主要成果 34
8.1结果分析 34
8.2获得的成就 34
结束语……………… 35
参考文献…………………………………………………………………………………………………………………………….36
系统概述
1.1系统开发背景和意义
随着处理器技术的发展,具有高性能和高处理速度的处理器技术已经日渐成熟,汇编器作为计算机系统中与处理器接触最为紧密的部分,在很大程度上对处理器速度和性能起着至关重要的重要,并且我们团队在进行具有49条MIPS32指令的CPU的设计过程中发现,编译器对CPU的性能影响也特别大,特别是在使用流水线技术的CPU中,指令流的执行序列以及指令中所存在的数据冲突、控制冲突都对CPU的性能有着举足轻重的作用,因此,在团队进行CPU 的逻辑设计的过程中,越来越发现编译器与处理器之间的紧密关系,两者之间相互制约和影响, 在以后的工作过程中,也回更多的与编译器进行接触,什么样的运算应该由硬件电路来实现,什么样的程序应该由编译器来进行优化,这些问题都是我们应该进行考虑,同时,通过对这样一个小型编译器的设计过程,让我们团队对编译的每一个部分都有了一个更深刻的认识和了解,从词法分析、语法分析、符号表构造、出错处理等知识都有了一个实践的过程,理论和实践的相结合,让我们对理论知识的认识又有了一个新的提高,该系统主要目的是完成从MIPS32汇编程序到机器代码生成的部分,同时,通过对该系统的设计,能够更好的帮助我们以后的工作过程中对所设计的MIPS32处理器逻辑设计的正确性进行验证,也更好的提高了我们团队的一个工作效率。
1.2系统的主要任务
在汇编器的设计过程中,主要是完成具有49条MIPS32汇编指令的汇编程序到其机器代码的生成过程,在系统的设计过程中,主要完成以下方面的任务:
完成MIPS32汇编程序的词法分析过程,并对不能识别的单词进行相应的处理。
完成MIPS3汇编程序的语法分析过程,通过LR(1)文法对程序的语法结构进行分析,并对出错的语法进行相应的处理。
完成MIPS32汇编程序的符号表的创建过程,并对符号表进行相应的管理,以便在词法分析和语法分析,以及最后的机器码的生成阶段起到一个很好的帮助作用。
完成MIPS32汇编程序出错处理的过程,在词法分析和语法分析的过程中,都能够对程序中所出现的错误进行处理和提示。
完成MIPS32汇编程序机器代码的生成,并能够在我们所设计的MIPS32处理器上运行,并验证其生成的机器代码的正确性。
1.3系统开发环境
在汇编器的设计过程中,我们团队主要使用的是Microsoft Visual C++ 6.0进行相应的程序代码设计以及最后的调试工作;在最后对机器代码进行验证的过程中,主要使用了PCSpim,该软件主要是在Window平台下运行MIPS32汇编程序的一个模拟器,在该模拟器中,主要包含了MIPS处理器内部寄存器组和主存部分,在存储区域的代码段,我们可以看见MIPS汇编程序的源代码及其相应的机器代码部分,通过对该模拟器的使用,我们可以在最后的机器代码的生成过程中,验证我们团队所设计的汇编器的正确性以及其最后机器代码的正确性。
可行性研究
2.1技术可行性
在技术实现的过程中,通过对编译原理知识的理论学习过程,并在理论学习和实践相结合的过程中,能够从理论知识的角度上对这个汇编器进行理论设计,并借助于Microsoft Visual C++ 6.0开发平台,利用C语言作为工具,将会便器的理
文档评论(0)