




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 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、用“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退出时直接退回到windows,后者是基于DOS系统,Q退出时退回到模拟DOS环境。2、两个数加、减、乘、除运算,请说出在哪些情况下,溢出标志位会置1? 答:若运算结果超过当前运算位数所能表示的范围,则溢出标志位会置1实验二 Debug与基本汇编语言的使用(下)一、实验要求和目的熟练掌握动态调试程序Debug的使用和基本汇编指令的使用二、实验环境 IBM-PC微机DOS.622环境或者Windows命令窗口三、涉及知识MPU的一般寄存器、特殊寄存器、基本汇编指令四、实验内容、步骤及提示1、开始运行CMD调用CMD窗口输入Debug命令进入Debug模式。2、输入笑脸程序,并运行产生正确的结果(提示:笑脸程序调用DOS显示中断实现,DL的值为2)3、设置文件名,长度为6,将第二步中的笑脸写入C盘根目录。4、用DOS命令切换到C盘根目录,并运行smile,com,观察结果。5、在Debug中编写一段小程序,实现输入两个字符,然后反顺回显,即输入AB,显示BA。(提示:输入、显示均调用DOS中断实现,反序可以用堆栈实现)6、在Debug中编写一段小程序,实现输入一个字符,然后换行回显。五、实验要求1、完成实验内容,并熟练掌握Debug和基本汇编指令的使用2、记录实验结果并回答思考题(截图打印在实验报告上) 【备注:实验报告请打印,主要内容为程序和运行结果截图即可】六、思考题(回答在实验报告上)1、写出你所掌握的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编译器的使用(编译、链接、查错),汇编程序设计,DOS中断的使用四、实验内容、步骤及提示1、编写程序,实现如下功能:将二进制数字“11111011001011”转为十六进制并显示。2、 编写程序,实现如下功能:输入一段字符,回车显示这段字符;3、将2、3步中的程序编译成为.OBJ文件,再链接成为.EXE文件并成功运行。五、实验要求1、完成实验内容,并熟练掌握MASM工具和一般程序设计技巧2、记录实验结果并回答思考题(截图打印在实验报告上) 【备注:实验报告请打印,主要内容为程序和运行结果截图即可】六、思考题(回答在实验报告上)1、如果汇编程序在编译成为.OBJ文件的时候出错,如何根据出错信息去修改源程序?答:如上图,当汇编程序在编译成为OBJ文件的时候出错时,倒数第二行会显示有几个错误,并在其上方显示具体在第几行出错,从而可以提示去修改源程序。 2、对1、2两个程序做上完整的注释,并写在实验报告上面。3、程序2的例程为何LINK的时候会出现提示错误信息,如何修改源程序就能避免?答:程序中用到堆栈段,但是在开头却没有对堆栈进行定义,所以会提示出错。七、实验总结通过实验学习了将二进制数转为十六进制的方法:四位一转化,变为ASCII码再显示,移四位,重复。并复习了中断显示的内容,跳转指令和循环指令。还复习了堆栈段的定义,复习了堆栈等内容。实验四 MSAM与汇编程序设计(下)一、实验要求和目的熟练掌握编译工具MASM的使用,重点掌握查错的方法,熟悉汇编程序设计二、实验环境IBM-PC微机DOS.622环境或者Windows命令窗口三、涉及知识 MASM编译器的使用(编译、链接、查错),汇编程序设计,DOS中断的使用。子程序的调用、参数传递四、实验内容、步骤及提示1、根据老师所给的“从键盘输入十进制转二进制程序显示程序”(在服务器拷贝或者下载),编写从键盘输入两个十进制数,并显示两数之和的程序,要求程序用子程序或者宏实现。2、将1中的程序修改,实验显示两数之差的绝对值功能。3、将1中的程序修改,实验显示两数之乘的功能。4、将1中的程序修改,实验显示两数之商的功能。5、(选作)用分支和循环结构,设计一个程序,实现输入设定个数的数字,排序后显示输出。(如果输入20个数字,从小到大输出)五、实验要求1、完成实验内容,并熟练掌握MASM工具和一般程序设计技巧2、记录实验结果并回答思考题(截图打印在实验报告上) 【备注:实验报告请打印,主要内容为程序和运行结果截图即可】六、思考题(回答在实验报告上)1、CALL调用子程序的时候,需要注意的问题是什么?答:应保护程序中用到的寄存器的数据,在CALL命令之前应将它们压入堆栈,并在命令之后弹出;还应CALL指令之前还应当将要向子程序传递的参数存到相应的寄存器中;另外还要考虑所调用的子程序是是段间远调用还是段内近调用。七、实验总结 通过实验,学习了加、减、乘、除程序的编写。加法和乘法较简单。 减法应注意在减数大于被减数时,需要输出绝对值,所以加个AX和BX的比较指令,若AX小,需在后边对结果进行求补而得到其绝对值。 除法应注意字除和字节除的问题。前边的程序用到DX,所以DX中存有数据,当进行除法时电脑会自动认为是字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吊车租赁损坏赔偿协议
- 2025年感染管理规范试题及答案
- 2025物流货物运输合同范本
- 2025年乡镇退役军人服务站专职人员招聘面试预测题及答案
- 智能化绿化养护协议
- 智能家居设备市场占有率表
- 地球节能一小时绘画课件
- 2025年税务总局机关公开遴选公务员笔试模拟题及答案
- 响应式设计合同
- 防风险资产托管合同
- JJF 2025-2023高动态精密离心机校准规范
- 2023年航空职业技能鉴定考试-候机楼服务技能考试题库(含答案)
- 医院腹腔镜手术知情同意书
- p型半导体和n型半导体课件
- GB/T 748-2005抗硫酸盐硅酸盐水泥
- GB/T 28287-2012足部防护鞋防滑性测试方法
- 走好群众路线-做好群众工作(黄相怀)课件
- 混凝土结构设计原理教学教案
- 民间文学(全套课件)
- 专升本00465心理卫生与心理辅导历年试题题库(考试必备)
- 既有重载铁路无缝线路改造及运维技术探索
评论
0/150
提交评论