论文部分内容阅读
在移动设备使用普遍的当今社会,各互联网公司争相研发各种可穿戴移动设备产品,研发人员又开始使用汇编语言进行系统编程,社会对精通汇编语言人才的需求使各大高校开始重视汇编语言这一基础课程,然而由于缺少完全适用于教学的汇编语言集成开发环境,学生学习汇编语言的难度大大增加。针对这一现状,本文以微机原理虚拟试验平台精品课程开发为依托,设计和实现了一个在Windows上运行的汇编语言辅助教学平台,该平台提供了一个集汇编语言源程序的编辑、汇编、调试于一体的集成开发环境,从而为汇编语言程序设计课程的教学提供一个形象直观的辅助教学工具。本文主要是对汇编语言教学平台集成编译环境用到的关键技术进行研究,所做的工作如下:(1)词法分析研究:研究了传统的基于字符匹配的词法分析算法在关键字少自定义符号多的高级语言程序词法分析中的优点,以及在系统关键字多而自定义符号少的汇编语言程序词法分析过程中的不足,提出了基于单词首字符和单词长度匹配的词法分析方案,该方案首先将所有的系统关键字按照首字符和单词长度分成多个表,查找时根据单词首字符和单词长度来查找相应的表。(2)语法分析研究:在分析了传统的汇编语言编译器在语法分析阶段使用的两遍扫描方案后,发现它在每遍扫描时都会查找关键字表来获取单词的属性,但是在基于单词首字符和单词长度匹配的词法分析算法中就已经获取并保存了单词的属性,故不用再去查找关键字表获取属性,因此根据上述分析针对没有宏操作的汇编器提出了一遍扫描的语法分析方案,把编译信息都保存到中间文件中,以空间换时间,提高编译的速度。(3)链接技术和指令仿真技术研究:首先,分析了链接器的三个任务,分别是地址和空间的分配、符号解析、重定位,研究了链接程序用到的两遍扫描算法。其次研究了指令仿真用到的构件和管道技术。(4)系统实现:利用分治法将汇编语言教学平台集成开发环境的功能分解为四大模块:编辑模块、编译模块、链接模块和调试模块,并将每一模块分解成多个小的功能模块,描述了各模块的主要功能;详细介绍了各个模块的设计和实现过程,包括编译模块的词法分析模块、语法分析模块、表达式求值模块、代码生成模块、目标文件生成模块、List文件生成模块、符号表管理模块、错误处理模块和指令系统模块等9个子模块、链接器的符号解析、重定位模块和调试器模块中CPU功能模拟模块、寄存器模拟模块、存储器模拟模块、指令集模拟模块等内容。