[毕业论文]Linux平台下的MIX汇编器设计与实现.doc
《[毕业论文]Linux平台下的MIX汇编器设计与实现.doc》由会员分享,可在线阅读,更多相关《[毕业论文]Linux平台下的MIX汇编器设计与实现.doc(34页珍藏版)》请在三一办公上搜索。
1、河南大学2007届本科毕业论文Linux平台下的MIX汇编器设计与实现The Design and Realization of MIX Compiler under Linux Platform论文作者姓名:朱选伟 所在学院:计算机与信息工程学院 所学专业:计算机科学与技术 导师姓名职称:陈志国(教授)、杜莹(助教) 论文完成时间:2007年5月20日 2007年5月20日河南大学2007届毕业论文(设计、创作)开题报告(由学生本人认真填写)学号02023191姓名朱选伟导师姓名职称陈志国(教授)杜莹(助教)开题时间2006年12月1日课题题目Linux下的MIX汇编器的设计与实现课题来源导
2、师指定 自定 其他来源课题的目的、意义以及和本课题有关的国内外现状分析:1、目的:在Linux平台下实现计算机程序设计艺术一书中描述的MIX汇编器的功能。2、意义:能够更好地学习计算机程序设计艺术一书,并对虚拟机技术有较好的理解。3、现状:在Windows平台下有相关的软件MIXBuider,但在Linux平台下并没有相关的软件存在。研究目标、研究内容和准备解决的问题:1、目标:在Linux操作系统平台下完成MIX虚拟机的汇编器。2、内容:Linux操作系统平台的编程环境熟悉,掌握虚拟机技术以及汇编技术。3、准备解决的问题:汇编语法问题,虚拟机的实现问题以及Linux编程的基础知识熟悉。拟采取
3、的方法、技术或设计(开发)工具:Linux操作系统,C+编程语言,GNU汇编器,虚拟机技术,汇编原理预期成果:1、毕业设计成果Linux平台下的MIX汇编器软件2、毕业论文Linux平台下的MIX汇编器设计与实现进度计划:2006.12.1 - 2007.4.1:查找资料、搜集相关素材2007.4.2 - 2007.4.11:完成Linux平台的熟悉工作2007.4.12 - 2007.4.21:完成汇编程序部分的设计2007.4.22 - 2007.4.30:完成机器指令的解释执行部分的设计2007.5.1 - 2007.5.15:整理资料、撰写毕业论文2007.5.16 - 2007.5.
4、25:根据导师要求,完善毕业设计和论文指导教师对选题报告的意见:同意开题 指导教师签名: 2006年12月1日河南大学2007届毕业论文(设计、创作)任务书(由学生本人认真填写)学号02023191姓名朱选伟导师姓名陈志国,杜莹任务书起止日期2006年12月8日 至 2007年5月20日论文提要: 论文将要介绍四个方面的内容:1、Linux下编译的一般过程、Makefile文件。2、开发环境以及基础知识,包括MIX系统及汇编语言以及虚拟机技术。3、本系统的总体规划及设计。4、系统具体设计与实现。课题任务要求:1、熟悉Linux操作系统的编程环境,熟悉基本的编程操作。2、学习MIX汇编语言。3、
5、掌握虚拟机技术以及汇编原理的相关知识。4、利用前面的知识开发出具体系统。主要参考文献:1 钱能等编著,C+程序设计教程,清华大学出版社,1999年4月 2 D.E.Knuth著,The Art of Computer Programming,Volume 1 Fundamental Algorithms,第3版,清华大学出版社,2002年9月3 陈火旺等著,程序设计语言编译原理,第三版,国防工业出版社,2001年1月4 Richard m.Stallman著,Using and Porting the GNU Compiler Collection, Free Software Foundat
6、ion,1998年5 Andrew S.Tanenbaum著,王鹏、尤晋元等译,操作系统设计与实现,电子工业出版社,1998年河南大学2007届毕业设计(论文、创作)中期检查表学院名称:计算机与信息工程学院题目名称Linux平台下的MIX汇编器的设计与实现学号02023191所学专业计算机科学与技术指导教师姓 名陈志国杜莹姓名朱选伟一、毕业设计进展情况1、基本完成主体框架的设计,完成了小部分的编码工作。2、对Linux编程环境有了一定了解,对虚拟机技术及汇编技术有了一定的了解。3、具体实现大部分没有完成。二、存在问题1、总体实现并不理想,对虚拟机的了解不深而直接导致整体结构分工不理想。2、对L
7、inux的编程环境掌握并不熟练,导致编程过程频频受阻。三、下一阶段的研究方法或设计思路加快学习虚拟机技术并且重新审视主体模块构成。并集中精力放在主要掌握Linux的基本编程知识。四、指导教师对学生设计(论文、创作)进展等方面的评语 该生较好地完成了基本模块的划分和编码工作,但是进度稍慢,各部分的实现和功能调试仍需认真完成。 指导教师签字: 2007年4月10日此表除第四项外由学生填写指导教师签名河南大学2007届毕业论文(设计、创作)综合成绩表(一)学院名称:计算机与信息工程学院学 号02023191姓名朱选伟专业计算机科学与技术指导教师陈志国(教授)、杜莹(助教)综合得分89论文题目Linu
8、x平台下的MIX汇编器的设计与实现指导教师评语及得分指导教师评语该生较好地完成了该汇编器的设计与实现,论文撰写认真,选题新颖。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分138785389指导教师签名 2007年5月20日评阅教师评语及评分评阅教师评语该生选题新颖,论文内容翔实,但软件技术上也并不很成熟,希望以后多加努力。评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字
9、表达10论文(设计、创作)质量和创新意识55合计100得分128785388评阅教师签名 2007年5月21日此表由教师填写河南大学2007届毕业论文(设计、创作)综合成绩表(二)学号02023191姓名朱选伟所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语 答辩委员签字: 2007年5月26日评分 项目 分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分1223183689答辩委员会主任签字: 2007年5月26日毕业论文(设计、创作)成绩综合评定: 89 分综合评定等
10、级:良备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会
11、进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。六、书写格式要求:1、目录;2、内容提要须书写200左右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等;3、正文(含引言、结论等);4、参考文献(或资料)河南大学本科生毕业论文(设计、创作)承诺书论文题目Linux平台下的MIX汇编器的设计与实现姓 名朱选伟所学专业计算机科学与技术学 号02023191完成时间2007年5
12、月20日指导教师姓名职称陈志国(教授)、杜莹(助教)承诺内容:1、本毕业论文(设计、创作)是学生 朱选伟 在导师 陈志国、杜莹 的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责任。2、学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名: 2007 年 5 月 20 日 2007 年 5 月 20 日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录第1章 绪论11.1 Linux下
13、编译的一般过程11.2 Makefile文件简介21.3 C+编程语言31.4 GCC编译器简介3第2章 系统开发基础知识简介42.1 MIX系统及汇编语言简介42.1.1 MIX系统简介42.1.2 MIX指令集62.1.3 MIXAL汇编语言72.2 虚拟机技术简介8第3章 系统总体规划及设计93.1 概要介绍93.1.1 MIX汇编语言的汇编93.1.2 MIX机器指令的载入93.1.3 MIX机器指令的运行93.2 汇编器概要设计103.2.1 词法分析器103.2.2 语法分析器103.2.3 代码生成器113.2.4 符号表113.2.5 错误处理模块113.3 汇编器主要数据结构
14、及算法113.3.1 地址计数器LC113.3.2 符号表113.3.3 未知标号表12第4章 系统具体设计与实现134.1 MIX系统基本结构模块概述134.2 MIX虚拟机系统的具体实现134.2.1 Makefile文件154.2.2 MIX虚拟机主程序174.2.3 MIXAL汇编调试器主程序184.2.4 Assemble汇编程序18结 论22参考文献23摘 要MIX计算机是一个假想的计算机,它来源于著名的计算机编程艺术(the art of computer programing)。现实中并没有真正的实体机器,为了学习这本书,作者就在自己的PC上实现该计算机的虚拟机以使书上的代码可
15、以顺利运行。C/C+是Linux操作系统平台下的主流语言,相对简便好用,就选用C+作为实现的主要语言,这涉及到Linux平台下的基本的C+编译的知识。这部分编译知识与平常使用较多的Windows平台下的编译知识有着显著不同,所以会进行较多的介绍。在一台电脑上模拟另一种体系结构不同的计算机涉及到了虚拟机的基本知识,虚拟机技术的核心是汇编技术。本文首先简单介绍了Linux下编译的一般过程、Makefile文件以及开发环境,包括MIX系统、汇编语言以及虚拟机技术。然后介绍了本系统的总体规划及设计。最后讲述了系统具体设计与实现。关键词 MIX汇编器,VM技术,C/C+,LinuxABSTRACTMIX
16、 is a fictitious 16 bits computer created by D E.Knuth in his famous bookThe Art of Computer Programming,and all algorithms in his book are coded by MIX assemble language. Nowadays computers can not execute those codes, so I want to achieve the main system structure of this machine on my PC for lear
17、ning this book. There is not a such software in the Linux platform, so that is a good idea to actualize it under the Linux platform. C/C+ are the system languages of the Linux operating system, and I choose the C+ as a main language. The C+ compiler knowledge of the Linux operating system is very di
18、fferent from Windows, so I shall give a particular introduction about it. The Virtual Machine technology is the central idea to “virtual” a machine, and of course it is the most important technology to the realization of MIX computer system. The main idea of VM is involved the assemble technology.Th
19、is paper firstly introduces the process of compiler under Linux Platform, the file of Makefile and the background of the system.Then explains the design of this system as a whole. Finally, introduces the realize of this system.Keywords MIX compiler, Vm technolegy, C+, Linux第1章 绪论MIX计算机是D.E.Knuth在其名著
20、计算机编程艺术(The art of computer programming)中描述的一种计算机,他书中的所有算法都由该计算机的汇编语言实现。但现实生活中并没有运行MIX体系结构的计算机,所以在现有的计算机上并不能直接运行书中的MIX汇编代码。唯一的办法只有在现有的计算机上将MIX的主要体系结构加以模仿,使它可以运行书中的MIX汇编代码。由于在Linux平台下并没有相关的软件存在,所以在Linux下构造这样一个具有MIX计算机系统结构的虚拟机具有开创性的意义。实现的MIX汇编器的主要的作用是运行MIX汇编语言,它的主体部分是一个汇编器。虚拟机的实现依赖于对计算机系统模仿,除去平台和语言的关系
21、,最主要的技术是虚拟机技术,该技术通过软件的方法使在一台计算机上运行另一台体系结构完全不同的计算机的机器指令的想法成为了可能。这其中最主要的代表便是Java虚拟机,它使Java语言实现了“平台无关性”。因此借鉴这个很著名的虚拟机技术来实现对该系统的模拟会有性能上的保证。下面,首先对编程的基本环境作一个简单的介绍,然后就开始介绍该虚拟机的设计与实现。Linux平台下的编程习惯与Windows平台下有很大的不同,它很“原始”,基本上所有的东西都要自己设置,下面假定读者极少接触Linux,会对Linux平台下的编程技术作一个相对简要但清楚的介绍。1.1 Linux下编译的一般过程Linux下没有.N
22、ET之类的集成开发环境。它基本的开发工具是Vi,与Windows下的记事本很相像,在它上面输入源程序,然后用命令执行该程序。Linux支持多种语言,例如C语言、C+语言以及perl语言等。最常见和最重要的是C语言的编译器GCC与C+语言的编译器G+。这个执行者有着多达一百条的编译命令在需要时让你输,并且需要编程者与操作系统直接打交道,对于需要操作系统功能调用的地方,程序员必须自己设置适合的系统调用以及库函数。Linux下编写程序的基本步骤是:(1)用vi或Emacs写下源代码,保存。(2)用GCC编译它(在命令行下输入命令:gcc 编译选项 保存名字.c)。(3)一般情况下,若编译无错误的话,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 Linux 平台 MIX 汇编 设计 实现
链接地址:https://www.31ppt.com/p-3025919.html