微机软件部分实验

上传人:新** 文档编号:560183038 上传时间:2023-04-17 格式:DOC 页数:14 大小:4.89MB
返回 下载 相关 举报
微机软件部分实验_第1页
第1页 / 共14页
微机软件部分实验_第2页
第2页 / 共14页
微机软件部分实验_第3页
第3页 / 共14页
微机软件部分实验_第4页
第4页 / 共14页
微机软件部分实验_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《微机软件部分实验》由会员分享,可在线阅读,更多相关《微机软件部分实验(14页珍藏版)》请在金锄头文库上搜索。

1、实验一 Debug与基本汇编语言的应用(上)一、实验要求和目的熟练掌握动态调试程序Debug的使用和基本汇编指令的使用二、实验环境 IBM-PC微机DOS.622环境或者Windows命令窗口三、涉及知识MPU的一般寄存器、特殊寄存器、基本汇编指令四、实验内容、步骤及提示1、开始运行CMD调用CMD窗口输入Debug命令进入Debug模式。2、输入?查看帮助文件,复习Debug有哪些子命令。3、用MOV命令和R命令两种方式分别给AX,BX,CX,DX寄存器赋值。4、编写四个小程序,用“T”逐步和“G”一次性分别实现两个数的加、减、乘、除,观察每一步寄存器的变化,特别是特殊寄存器的变化。5、用“

2、U”命令反编译第3步中的程序,观察机器码。6、将“1”、“2”、“3”、“4”分别赋值给AX、BX、CX、DX,然后压入堆栈再弹出,使得DX=2,CX=1,BX=2,AX=3。7、用Q退出Debug命令。五、实验要求1、完成实验内容,并熟练掌握Debug和基本汇编指令的使用2、记录实验结果并回答思考题(截图打印在实验报告上) 【备注:实验报告请打印,主要内容为程序和运行结果截图即可】六、思考题(回答在实验报告上)1、直接在开始运行中运行Debug命令和先用CMD命令调用命令窗口,再在命令窗口中运行Debug命令,二者有何区别?答:前者基于windows操作系统,在输入Q退出时直接退回到wind

3、ows,后者是基于DOS系统,Q退出时退回到模拟DOS环境。2、两个数加、减、乘、除运算,请说出在哪些情况下,溢出标志位会置1? 答:若运算结果超过当前运算位数所能表示的范围,则溢出标志位会置1实验二 Debug与基本汇编语言的使用(下)一、实验要求和目的熟练掌握动态调试程序Debug的使用和基本汇编指令的使用二、实验环境 IBM-PC微机DOS.622环境或者Windows命令窗口三、涉及知识MPU的一般寄存器、特殊寄存器、基本汇编指令四、实验内容、步骤及提示1、开始运行CMD调用CMD窗口输入Debug命令进入Debug模式。2、输入笑脸程序,并运行产生正确的结果(提示:笑脸程序调用DOS

4、显示中断实现,DL的值为2)3、设置文件名,长度为6,将第二步中的笑脸写入C盘根目录。4、用DOS命令切换到C盘根目录,并运行smile,com,观察结果。5、在Debug中编写一段小程序,实现输入两个字符,然后反顺回显,即输入AB,显示BA。(提示:输入、显示均调用DOS中断实现,反序可以用堆栈实现)6、在Debug中编写一段小程序,实现输入一个字符,然后换行回显。五、实验要求1、完成实验内容,并熟练掌握Debug和基本汇编指令的使用2、记录实验结果并回答思考题(截图打印在实验报告上) 【备注:实验报告请打印,主要内容为程序和运行结果截图即可】六、思考题(回答在实验报告上)1、写出你所掌握的

5、DOS中断的具体程序,并说明在哪些情况下需要调用?答:(1)键盘输入并回显: MOV AH,01H INT 21 (2)键盘输入字串到缓冲区: MOV AH,0AH INT 21七、实验总结 通过这两个实验,复习了在Debug的基本操作,复习了汇编语言的基本指令。学会了在Debug中编写简单程序并运行。但Debug具有局限性:不可以在高于XP系统中运行,且不适合复杂程序的编写。实验三 MSAM与汇编程序设计(上)一、实验要求和目的熟练掌握编译工具MASM的使用,重点掌握查错的方法,熟悉汇编程序设计二、实验环境IBM-PC微机DOS.622环境或者Windows命令窗口三、涉及知识 MASM编译

6、器的使用(编译、链接、查错),汇编程序设计,DOS中断的使用四、实验内容、步骤及提示1、编写程序,实现如下功能:将二进制数字“11111011001011”转为十六进制并显示。2、 编写程序,实现如下功能:输入一段字符,回车显示这段字符;3、将2、3步中的程序编译成为.OBJ文件,再链接成为.EXE文件并成功运行。五、实验要求1、完成实验内容,并熟练掌握MASM工具和一般程序设计技巧2、记录实验结果并回答思考题(截图打印在实验报告上) 【备注:实验报告请打印,主要内容为程序和运行结果截图即可】六、思考题(回答在实验报告上)1、如果汇编程序在编译成为.OBJ文件的时候出错,如何根据出错信息去修改

7、源程序?答:如上图,当汇编程序在编译成为OBJ文件的时候出错时,倒数第二行会显示有几个错误,并在其上方显示具体在第几行出错,从而可以提示去修改源程序。 2、对1、2两个程序做上完整的注释,并写在实验报告上面。3、程序2的例程为何LINK的时候会出现提示错误信息,如何修改源程序就能避免?答:程序中用到堆栈段,但是在开头却没有对堆栈进行定义,所以会提示出错。七、实验总结通过实验学习了将二进制数转为十六进制的方法:四位一转化,变为ASCII码再显示,移四位,重复。并复习了中断显示的内容,跳转指令和循环指令。还复习了堆栈段的定义,复习了堆栈等内容。实验四 MSAM与汇编程序设计(下)一、实验要求和目的

8、熟练掌握编译工具MASM的使用,重点掌握查错的方法,熟悉汇编程序设计二、实验环境IBM-PC微机DOS.622环境或者Windows命令窗口三、涉及知识 MASM编译器的使用(编译、链接、查错),汇编程序设计,DOS中断的使用。子程序的调用、参数传递四、实验内容、步骤及提示1、根据老师所给的“从键盘输入十进制转二进制程序显示程序”(在服务器拷贝或者下载),编写从键盘输入两个十进制数,并显示两数之和的程序,要求程序用子程序或者宏实现。2、将1中的程序修改,实验显示两数之差的绝对值功能。3、将1中的程序修改,实验显示两数之乘的功能。4、将1中的程序修改,实验显示两数之商的功能。5、(选作)用分支和

9、循环结构,设计一个程序,实现输入设定个数的数字,排序后显示输出。(如果输入20个数字,从小到大输出)五、实验要求1、完成实验内容,并熟练掌握MASM工具和一般程序设计技巧2、记录实验结果并回答思考题(截图打印在实验报告上) 【备注:实验报告请打印,主要内容为程序和运行结果截图即可】六、思考题(回答在实验报告上)1、CALL调用子程序的时候,需要注意的问题是什么?答:应保护程序中用到的寄存器的数据,在CALL命令之前应将它们压入堆栈,并在命令之后弹出;还应CALL指令之前还应当将要向子程序传递的参数存到相应的寄存器中;另外还要考虑所调用的子程序是是段间远调用还是段内近调用。七、实验总结 通过实验,学习了加、减、乘、除程序的编写。加法和乘法较简单。 减法应注意在减数大于被减数时,需要输出绝对值,所以加个AX和BX的比较指令,若AX小,需在后边对结果进行求补而得到其绝对值。 除法应注意字除和字节除的问题。前边的程序用到DX,所以DX中存有数据,当进行除法时电脑会自动认为是字节除,所以在除之前需对DX清零,电脑才会进行字除。另外,要显示余数话需将余数显示,已知除完后余数存在DX中,只要将DX赋给AX(B_DP子程序调用的输入),再调用显示就可以显示余数。 当被除数为零时提示错误,需要加跳转指令,比较被除数和0的大小,当和0相等时跳转,用数据段的字符串显示错误提示即可。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号