微机原理实习报告-北京科技大学.doc

微机原理实习报告-北京科技大学.doc

ID:56749560

大小:539.00 KB

页数:30页

时间:2020-07-07

微机原理实习报告-北京科技大学.doc_第1页
微机原理实习报告-北京科技大学.doc_第2页
微机原理实习报告-北京科技大学.doc_第3页
微机原理实习报告-北京科技大学.doc_第4页
微机原理实习报告-北京科技大学.doc_第5页
资源描述:

《微机原理实习报告-北京科技大学.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《微机原理》上机实习报告学院:班级:学号:姓名:指导教师:2013年8月一、实习目的1、掌握汇编语言的语法和编程思路;2、掌握汇编语言的编译程序masm、链接程序link和调试程序debug,以及dos模拟工具dosbox的安装使用方法;3、使用上述工具设计汇编程序;4、复习《微机原理与接口技术》课上关于汇编程序的知识,灵活运用汇编语言。二、实习要求1、使用软件为dos模拟工具dosbox、汇编语言的编译程序masm、链接程序link和调试程序debug或轻松汇编软件QASM。2、程序分为选做题和必做题两部分,要求使用汇编语言编写。三、题目

2、分析[第一题]1、题目要求:设计程序,并在程序中显示自己的姓名拼音、班级、学号。2、需求分析:程序需要用到DOS功能调用INT21H中的9号功能调用:显示字符串。重点和难点是定义数据段时要在字符串尾加‘$’符,否则会在输出所需字符串之后继续输出乱码。3、程序运行截图:4、问题和解决:1)输出会显示乱码,在数据段添加‘$’符之后问题被解决。2)提示无堆栈段,定义堆栈段之后运行正常。[第二题]1、题目要求:编写一个显示数字宏,在dos界面输入一个数字后,调用该宏显示输入的数字。2、需求分析:程序需要用到DOS功能调用INT21H中的9号功能调用

3、:显示字符串和10号功能调用:输入一串字符。其中9号调用需要被封装为宏。由于要控制字符长度,需要对输入的字符串进行相应溢出处理。3、程序运行截图:4、问题和解决:出现的主要问题是溢出处理。我采用了逐位比较的方法,将数字固定在0至65535之内,如输入溢出,则提示溢出信息“OVERFLOWERROR”。[第三题]1、题目要求:输入3个16比特数无符号数x、y和z,显示x和y,并计算r=x/y+z,显示r,要求处理溢出等情况。2、需求分析:程序需要用到第二题的输入数字功能,同时需要将字符串转化为数字进行处理。同时,程序涉及到算数指令MUL,DI

4、V,ADD等,尤其要注意的是溢出的处理。在计算R完毕之后,还需要将R重新转化为字符串形式输出。3、程序运行截图:4、问题和解决:首先是将字符串转化为数字的问题。在处理这一部分代码的时候,我才发现自己对于ASCII码和机器数的分别认识不是很清晰,通过查书,我采取了将字符串的ASCII码顺序减30H的方法,首先将它们以一串字符的方法存储,再利用循环转化为数字。这样就可以顺利地进行运算了。其次是对于循环方式编程的不熟悉。由于对于汇编循环的认识不是很清晰,第一次编程的时候出现了很多错误,后来逐一检查才发现,由于习惯于C++、Java等语言的编程,很

5、多时候会想当然,导致脱离循环的判断语句出现逻辑错误,更改后运行正常。第三是溢出的处理,我利用了第二题的处理方式,同时增加了计算过程中的判断,在超过65535时会提示“OVERFLOWERROW”。[第四题]1、题目要求:从dos界面输入4个数字作为汇编程序的参数,编写冒泡法排序的子程序,进行排序输出最大值,并显示输入的4个数字和最大值。2、需求分析:本题目可以利用第三题的数字输入和处理,唯一不同的是处理方式,即冒泡法排序。排序是题目的重点。3、程序运行截图:4、问题和解决:出现的主要问题是冒泡法排序。由于对汇编的循环不熟悉,编程时出现了混乱

6、,于是我画了程序流程图,按照流程图编写程序,果然事半功倍。此外,在第一遍运行程序时,发现无论大小都会进行交换,检查程序之后发现忘记添加比较的内容,添加之后运行正常。[第五题]1、题目要求:设计键盘中断程序及其调用程序,在dos界面运行过程中,完成如下功能:a)输入q键结束程序b)输入i键记录一个长度最长为16个字母的姓名拼音c)输入n键显示刚刚输入的姓名拼音(不能有空格)2、需求分析:本题目考察重点是中断和DOS功能调用的转换。3、程序运行截图:4、问题和解决:出现的问题是程序判断跳转时的错误,在检查之后更改了跳转条件;除此之外,开始运行时

7、程序会进入死循环无法跳出中断,发现是循环语句有问题导致的,更改后运行正常。[第六题]1、题目要求:设计鼠标程序,完成如下功能a)在屏幕显示鼠标的坐标位置b)点击鼠标左键,程序退出2、需求分析:程序涉及到硬件(鼠标)的处理,其难点为定位光标位置并输出。3、程序运行截图:4、问题和解决:拿到题目之后觉得无从下手,因此到图书馆借阅了相关书籍,同时在网络上查找资料,得到了定位鼠标的相关代码,更改后运行成功。四、心得体会经过此次实习,我发现自己对于汇编语言和计算机硬件的了解还很浅薄,汇编编程很好地锻炼了我的能力,也补上了我在课上缺失的知识。我的收获如

8、下:1、编程语言都是相通的。虽然比之C++、Java等语言,汇编语言更加底层,对硬件操作的要求更高,但掌握汇编语言有助于锻炼逻辑性和加深对微机原理的理解。同理,在其他计算机语言中

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

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

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