汇编语言综合实验.doc

汇编语言综合实验.doc

ID:58654593

大小:77.00 KB

页数:14页

时间:2020-10-16

汇编语言综合实验.doc_第1页
汇编语言综合实验.doc_第2页
汇编语言综合实验.doc_第3页
汇编语言综合实验.doc_第4页
汇编语言综合实验.doc_第5页
资源描述:

《汇编语言综合实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、华北科技学院综合性实验报告课程名称汇编语言实验学期2017至2018学年第1学期学生所在系部计算机学院网络工程系年级三年级专业班级网络B15-学生姓名学号任课教师实验成绩计算机学院制《汇编语言》课程综合性实验报告开课实验室:基础实验室一日期:2021年8月31日实验题目学生成绩排序一、实验目的进行汇编语言程序设计应用的综合性训练。综合运用汇编语言循环程序、子程序、宏指令编程方法,提高汇编语言程序设计能力的应用水平。二、设备与环境PC兼容机、Windows操作系统、汇编程序masmforwindows2015三、实验内容编写程序,接收从键盘输入某班学生的学号、姓名、成绩,对学生

2、的成绩进行排序,最后把学号、姓名、学生成绩、名次显示出来。四、实验结果及分析⑴代码功能该代码的功能是实现对已经输入的学生按成绩进行排序,输入时按学号输出时按照成绩的由小到大输出,在成绩交换位置时成绩对应的姓名和学号也会跟随一起变化使姓名和分数对应显示。⑵变量的定义①缓冲区和存储单元的定义这个过程是个关键的过程,因为在程序中汇涉及到使用单元空间的单元值,如果不能明确的定义变量和缓冲区,在输入学生信息,输出学生信息都不能达到想要的效果,而且在程序中执行循环时也会因为赋值不准确导致程序出现错误,而且这种错误系统不会提示,这就意味着查找问题很困难,增加了编码的难度和工作量。②宏定义及

3、其使用在进行编码时为了使代码量减少,应该适当定义一些宏,此程序定义了5个宏,hong1实现的功能是定义了回车换行因为在对学生成绩输出时会用到换行而且是反复的使用,因此定义回车换行的宏可以减少一定的代码量。hong1macro;------------------定义回车换行的宏!!!MOVDL,0AHMOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HEndmhong2定义的功能是提示信息和输入的功能,这个宏的定义主要用在对学生成绩的输入上,和相关信息的显示,而且这个宏用到了传参因为在调用10号功能和9号功能都能用这一个程序。hong2macroopr1,o

4、pr2;------------------定义输入输出!!!!leadx,opr1movah,opr2int21hendm其中opr1是传递的缓冲区的亚元,opr2是传递功能号的亚元。Hong3定义空格的宏,这个宏的定义是为了在学生成绩输出时能显示的更加美观一些。hong3macro;-------------------定义空格!!movdl,20hmovah,2int21hendmhong4定义的清楚回车键的宏,因为信息输入用的是10号功能,在信息输入结束时是以回车键结束的,而且程序中涉及到了信息的转存,如果将回车键也一同转存到新的存储单元中,在用2号功能实现对学生信息

5、的显示时碰到回车键,就会出现终止的错误,因此在转存前就先对缓冲区里的回车键进行清空。hong4macroopr1,opr2;------------------清楚缓冲区里的回车键!!!moval,0pr1addal,2movah,0movsi,axmovbuff1[si],0因为定义了姓名、分数、学号三个缓冲区,因此应定义带有参数的宏,以方便对三个不同的缓冲区时只需用不同的参数就能实现相同的功能。Hong5定义的转存的宏,程序中有将缓冲区里的数据转存到一个大的存储单元中,以方便实现成绩的比较和最后学生所有信息的输出,因为姓名、成绩、学号都需转存,而且转存后还要进行对缓冲区的

6、内容进行清空,这些都是操作的代码出了存储区和计算单元的个数其他的内容都是相同因此定义这个宏会减少很多代码的输入。hong5macroopr1,opr2,opr3,opr4movcx,opr1leasi,opr2;传送姓名leadi,opr3adddi,opr4cldrepmovsbmovcx,opr1movax,0leadi,opr3endm宏的引用虽然能够减少大量的代码但是在调用宏时应注意对应位置参数的传递以免出现错误导致程序不能正常运行。其次是在程序不能将程序都用宏调用,如果那样在读代码时就会造成理解困难因为只有变量、缓冲区和存储单元再有就是宏。读者不能明白其中的格式,因

7、此在调用宏时用该保留一个具体的程序段以方便读者了解具体的代码格式也方便查找错误。⑶功能实现的过程①输入过程用宏定义调用9号功能提示信息“inputname”,接着调用10号功能将输入的姓名存入缓冲区buff1,这就完成了姓名的输入,用同样的方法和调用宏完成分数和学号的输入分别存入buff2、buff3,这就完成了一个学生信息的输入,其中要记得将回车键清0,然后调用转存的子程序。再执行LOOP循环完成一定量学生信息的输入。②转存实现的是将输入的姓名、分数、学号存入到定义好的足够长的存储单元中,再转存时需要

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。