




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编实验指导书范文 一、实验目的学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。 为后续课程打下坚实的基础。 二、实验要求1上机前要作充分准备,写出实验预习报告,包括实验目的、实验内容、程序框图、源程序清单、调试步骤、测试方法和对运行结果的分析等。 2上机时要遵守实验室的规章制度,爱护实验设备。 要熟悉与实验有关的系统软件(如程序、汇编程序、连接程序和调试程序等)的使用方法。 在程序的调试过程中,有意识地学习及掌握debug程序的各种操作命令,以便掌握程序的调试方法及技巧。 为了更好地进行上机管理,可用硬盘存储程序,并建立和使用子目录,以避免文件被别人删除。 要求实验者按以下形式命名实验文件字母学号.扩展名。 其中字母取az的26个英文字母,按实验顺序从a到z排列。 如学号为020431学生的第二个实验程序所对应的文件名应为b020431.asm。 3程序调试完成后,须由实验指导教师在机器上检查运行结果,经过教师认可后的源程序可通过打印机输出,并请教师在程序清单上签字。 每个实验完成后,应写出实验报告。 1.2实验技术及原理该实验指导书主要目标是使学生通过实验学习汇编语言程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。 为后续课程打下坚实的基础。 用于汇编语言的编程工具主要有程序、汇编程序、连接程序和调试程序。 1、在文本程序(如EDIT等)的帮助下,用户通过键盘输入汇编语言的源程序,对源程序进行、修改,并把源程序作为文件保存在磁盘上。 2、汇编程序用于将用户编写的源程序文件翻译成机器语言的文件。 它的主要功能是 (1)检查源程序文件; (2)检测源程序中的语法错误并给出错误信息; (3)产生源程序的目标文件(后缀为.OBJ);若需要的话,也同时给出列表文件(后缀为.LST的汇编语言和机器语言对照文件); (4)展开宏指令目前IBM PC系列机使用的汇编程序有两种:一种是Microsoft公司研制的宏汇编程序MASM;另一种是Borland公司研制的Turbo系列汇编程序TASM。 这两种汇编程序基本相同。 3、连接程序汇编语言程序经过汇编后生成目标文件,但是这个目标文件中的地址是“浮动”的,它只是一种逻辑地址,所以称为浮动二进制文件(.OBJ)。 连接程序的功能是将浮动二进制文件中逻辑地址转变成能够在计算机上直接运行的物理地址,即浮动二进制文件只有经过连接程序的连接装配后才能成为可以在计算机上直接执行的文件(.EXE)。 注意,与MASM配合使用的连接程序是LINK,而与TASM配合使用连接程序是TLINK。 4、调试程序调试程序DEBUG主要用于汇编语言程序的调试。 它可调试运行一个可执行文件(.EXE或.)。 由于汇编和连接过程只能查出源程序中的语法错误以及生成可执行文件,而无法查出程序的算法是否有错或者不完善。 只有通过DEBUG程序调试可执行文件,逐段甚至逐条指令地调试执行,从中观察是否达到预期的功能或得出预期的结果,特别是转移指令是否按设想进行转向等,从而发现程序在设计上的缺陷和错误。 第二章实验项目实验一字符串传送实验(2学时) 一、实验目的1学习字符串传送指令的用法。 2学习程序设计的基本方法和技能,熟练掌握用汇编语言编写、调试和运行程序的方法。 二、实验内容编写一个完整的汇编语言程序,完成将数据段中的一个字符串Str1传送到附加段的Str2。 三、实验仪器、设备 1、硬件环境PC系列的微机、打印机。 2、软件环境软件PE 2、EDIT、CCED等。 宏汇编程序MASM、TASM等。 连接程序LINK、TLINK等。 调试程序DEBUG、Turbo Debugger(简称TD)等。 操作系统UCDOS、CCDOS等。 四、实验原理DEBUG程序是MSDOS提供的工具软件,它在DOS支持下可用来调试或修改汇编语言目标程序。 对高级语言的源程序,经过编译、连接后,也可以利用该软件工具进行动态调试,逐段执行程序,观察在CPU的寄存器中或内存中能否得到预期的结果,从而发现程序语句编排上的错误。 此外,该软件工具对程序分析、破译以及汉化等工作也有很大的帮助。 8086的字符串传送指令的用法。 五、实验步骤1.根据要求编制汇编源程序edit a.asm2.调用宏汇编对源程序进行汇编masm a.asm3.对目标程序进行连接link a.obj4.使用Debug调试运行可执行程序并调试debug a.exe,并查看运行结果.5.写出实验报告.因本实验是第一个实验,故给出整个实验过程,供以后参考,过程如下 (1)编写源程序EDIT A.ASM然后输入以下源程序DATA SEGMENTSTR1DBHELLODATA ENDSEXTRA SEGMENTSTR2DB5DUP(?)EXTRA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:EXTRA START:MOV AX,DATA MOVDS,AX MOVAX,EXTRA MOVES,AX LEASI,STR1LEA DI,STR2CLD MOVCX,5REP MOVSBMOV AH,4CH INT21H CODEENDS ENDSTART (2)、对源程序进行汇编MASM A.asm;(该步骤产生A.OBJ)注意如果出现错误,则回到步骤1,对源程序进行修改,然后再进行汇编,直到没有错误为止。 (3)、进行连接LINK A.obj;(该步骤产生A.EXE)注意由于该程序没有输出,所以我们需要用DEBUG对产生的A.EXE进行调试,调试过程如下 (4)、用DEBUG对产生的A.EXE进行调试输入命令DEBUG A.EXE进入如下界面:此时输入U,产生界面如下:由此可知,该程序从130A:0000开始,到130A:001B结束。 我们先执行到0016(即暂时不执行REP MOVSB),则输入命令如下G0016然后用D命令观察数据段中STR1和附加段中STR2的内容,命令如下D DS0000D ES0000由此可见,字符串STR1尚未传送到附加段的STR2中,然后,再执行到0018(即执行REP MOVSB),然后再通过D指令观察STR2,如下由此可见,字符串STR1已经传送到附加段的STR2中,证明我们的程序是正确的,此时我们可以用Q命令退出DEBUG状态。 整个程序调试完毕。 六、实验报告要求实验报告基本形式 (1)实验题目; (2)实验目的; (3)实验内容(步骤) (4)实验原理、数据(程序)记录; (5)实验结果及分析; (6)实验体会(小结); 七、实验注意事项1学生上机时要严格遵守实验规章制度,若实验设备出现故障,应及时向实验指导教师反映,不要私自拆卸实验设备。 2上机后,应写出实验报告,及时总结。 实验二顺序结构程序设计(4学时) 一、实验目的 1、熟悉8086的指令书写格式,功能。 2、熟悉DEBUG调试工具的功能,通过调试掌握其常用命令。 3、加深对顺序结构程序的理解,掌握顺序程序的结构。 二、实验内容用DEBUG调试程序功能,编程序求W=(V-(X*Y+Z-540)/X(式中X、Y、Z、V均为有符号字数据,设X、Y、Z、V的植存放在字变量X、Y、Z、V中) 三、实验仪器、设备 1、硬件环境PC系列的微机、打印机。 2、软件环境软件PE 2、EDIT、CCED等。 宏汇编程序MASM、TASM等。 连接程序LINK、TLINK等。 调试程序DEBUG、Turbo Debugger(简称TD)等。 操作系统UCDOS、CCDOS等。 四、实验原理流程图 五、实验步骤1.根据要求,画出程序框图。 2.根据要求编制汇编源程序edit a.asm3.调用宏汇编对源程序进行汇编masm a.asm4.对目标程序进行连接link a.obj5.使用Debug调试运行可执行程序并调试debug a.exe,并查看运行结果。 6.写出实验报告。 六、实验报告要求实验报告基本形式 (1)实验题目; (2)实验目的; (3)实验内容(步骤) (4)实验原理、数据(程序)记录; (5)实验结果及分析; (6)实验体会(小结); 七、实验注意事项1学生上机时要严格遵守实验规章制度,若实验设备出现故障,应及时向实验指导教师反映,不要私自拆卸实验设备。 2上机后,应写出实验报告,及时总结。 实验三循环与分支结构程序设计(4学时) 一、实验目的1加深对循环与分支程序的理解,掌握分支程序的结构。 2掌握循环与分支程序的设计、调试方法。 3能实现较复杂的算法 二、实验内容1接收键盘输入字符,将其中的小写字母转换为大写字母,并进行显示。 (单重分支程序设计题)2.统计一个有10人的班中,男、女生的人数各为多少。 将统计结果的男生人数存入变量MAN中,女生人数存入变量WOMAN中。 (单重循环程序设计题) 三、实验仪器、设备及材料 1、硬件环境PC系列的微机、打印机。 2、软件环境软件PE 2、EDIT、CCED等。 宏汇编程序MASM、TASM等。 连接程序LINK、TLINK等。 调试程序DEBUG、Turbo Debugger(简称TD)等。 操作系统UCDOS、CCDOS等。 四、实验原理 1、实验内容1的编程指导字符在计算机内以ASCII码值来表示,大小写字母也不例外,其中大写字母(AZ),小写字母(az)在ASCII码字符集中连续存放,其值的范围分别为6590,97122。 这样我们根据字符的ASCII码值,自然能判定字符是否为大、小写字母,同时对小写字母,用减32的方法转化为其对应的大写字母。 键盘输入和字母显示可用DOS或BIOS调用实现。 2、实验内容1的流程框图开始输入一个字符AL(AL)-32AL,转换成大写字母(AL)zALDL输出DL中的大写字母输出“ERROR!”信息结束YYNN图3- 13、实验内容2的编程指导男、女生的标志可用1和0字符来表示,并从键盘输入此标志。 根据题意,总人数已知,在此范围下,对输入的标志进行分类和显然可用循环结构来完成。 每循环一次使相应的人数增1,而循环计数值(开始为总人数)减1,直至该计数值为0。 这样,我们可用CX作为循环计数器,用“LOOP”指令对循环的条件进行判定。 4、实验内容2的流程框图结束开始循环计数值10CX男生人数(MAN)增1是1(男)吗?输入一个标志字符女生人数(WOMAN)增1是0(女)吗?CX-1CXCX=0?YNYNYN图3-2 五、实验步骤1根据要求编制汇编源程序edit a.asm2调用宏汇编对源程序进行汇编masm a.asm3对目标程序进行连接link a.obj4使用Debug调试运行可执行程序并调试debug a.exe,并查看运行结果。 5写出实验报告。 六、实验报告要求实验报告基本形式 (1)实验题目; (2)实验目的; (3)实验内容(步骤) (4)实验原理、数据(程序)记录; (5)实验结果及分析; (6)实验体会(小结); 七、实验注意事项1学生上机时要严格遵守实验规章制度,若实验设备出现故障,应及时向实验指导教师反映,不要私自拆卸实验设备。 2上机后,应写出实验报告,及时总结。 实验四子程序设计(4学时) 一、实验目的 1、掌握子程序设计方法,能合理划分子程序 2、掌握汇编语言子程序的定义、调用、返回、参数传递等有关问题的实现。 二、实验内容编制用子程序实现将内存以ARRAY为首地址的数组相加的程序。 主程序把所要相加的数组首地址及数组个数通过堆栈传给子程序。 子程序通过堆栈指针确定的地址取出数组的首地址和数组个数,将数组累加后,返回主程序。 三、实验仪器、设备及材料 1、硬件环境PC系列的微机、打印机。 2、软件环境软件PE 2、EDIT、CCED等。 宏汇编程序MASM、TASM等。 连接程序LINK、TLINK等。 调试程序DEBUG、Turbo Debugger(简称TD)等。 操作系统UCDOS、CCDOS等。 四、实验原理 1、编程指导主程序在调用子程序之前必须向子程序提供一些参数,而当子程序执行完成以后,又要将执行得到的结果提供给主程序。 因此,主程序和子程序之间存在信息的传递问题。 信息传递方法不同,子程序的编制方法也不相同。 本实验使用堆栈进行主程序和子程序之间的信息传递,这是一种较常用的方法,它节省存储空间和通用寄存器。 然而,在使用堆栈时必须清楚堆栈中的内容,掌握并跟踪指针的变化情况,以免出错。 2、流程框图开始数组首地址AX数组首地址进栈数组元素个数AX数组元素个数进栈调用累加和子程序保存计算结果显示计算结果结束主程序结束进栈(设置堆栈段基地址)进栈进栈(取数组元素个数)(取数组首地址)(置结果初值)()(累加)()()(若有进位,加)()调整数据指针出栈出栈出栈子程序返回并丢弃个字节的无用参数开始()?子程序(CX)-1CX图4-1 五、实验步骤1根据要求编制汇编源程序edit a.asm2调用宏汇编对源程序进行汇编masm a.asm3对目标程序进行连接link a.obj4使用Debug调试运行可执行程序并调试debug a.exe,并查看运行结果。 5写出实验报告。 六、实验报告要求实验报告基本形式 (1)实验题目; (2)实验目的; (3)实验内容(步骤) (4)实验原理、数据(程序)记录; (5)实验结果及分析; (6)实验体会(小结); 七、实验注意事项 1、保护现场和恢复现场涉及堆栈的操作,要注意堆栈的先进后出的特点,以免出错。 2、子程序既可被本段代码调用,又可被其它代码段调用。 当被本段代码调用时,子程序定义为NEAR属性;当被其它代码段调用时,必须定义为FAR属性。 3、由于传递的数据在堆栈中,因此用BP寄存器存放基地址。 4、学生上机时要严格遵守实验规章制度,若实验设备出现故障,应及时向实验指导教师反映,不要私自拆卸实验设备。 5、上机后,应写出实验报告,及时总结。 实验五I/O程序设计(2学时) 一、实验目的 1、掌握I/O程序设计的方法。 2、能进行简单的I/O程序的编写和调试。 二、实验内容在屏幕上显示一辆水平开动的汽车。 三、实验仪器、设备及材料 1、硬件环境PC系列的微机、打印机。 2、软件环境软件PE 2、EDIT、CCED等。 宏汇编程序MASM、TASM等。 连接程序LINK、TLINK等。 调试程序DEBUG、Turbo Debugger(简称TD)等。 操作系统UCDOS、CCDOS等。 四、实验原理字符图形既可以在显示器上以简单的黑白图形字符显示,也可以在彩色显示器上以彩色的图形字符显示。 通过调用INT10H的AH=0,AL=07可设置不同的显示方式,调用INT10H的AH=09H,AH=0AH等可显示字符。 编程指导要在屏幕上显示出动画的效果,可以分5步进行在屏幕上显示图形;延迟一个时间周期,使图形更清晰;清除图形;改变图形的行列坐标;返回第步,重复上述过程。 时间的延迟可以通过指令的循环执行来实现。 从屏幕上清除图形可以通过清除部分屏幕来实现,也可以用空字符在原位置重画一次来实现。 用空字符(ASCII码为0)重新画,可用INT10H的AH=9来显示空字符。 五、实验步骤1根据要求编制汇编源程序edit a.asm2调用宏汇编对源程序进行汇编masm a.asm3对目标程序进行连接link a.obj4使用Debug调试运行可执行程序并调试debug a.exe,并查看运行结果。 5写出实验报告。 六、实验报告要求实验报告基本形式 (1)实验题目; (2)实验目的; (3)实验内容(步骤) (4)实验原理、数据(程序)记录; (5)实验结果及分析; (6)实验体会(小结); 七、实验注意事项 1、学生上机时要严格遵守实验规章
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年聊城大学公开招聘人员(46名)考前自测高频考点模拟试题有答案详解
- 正心泰片品牌认知度评估-洞察与解读
- 班组安全培训讲解内容摘要课件
- 2025年湖南财盛国际贸易有限公司公开模拟试卷及答案详解(夺冠系列)
- 2025广东阳江阳西县政府发展研究中心就业见习岗位1人考前自测高频考点模拟试题及一套答案详解
- 2025年白城市暨洮北区人才交流中心就业见习岗位和见习人员征集模拟试卷及一套答案详解
- 2025黑龙江鹤岗市工农区酒行招聘模拟试卷及答案详解(网校专用)
- 2025广东依顿电子科技股份有限公司招聘硬件工程师等岗位人员考前自测高频考点模拟试题及参考答案详解一套
- 2025年河南红旗渠(集团)有限责任公司招聘7人模拟试卷及1套参考答案详解
- 班组安全培训工作总结
- 2025广东房屋租赁合同范本官方版
- 新版中华民族共同体概论课件第八讲共奉中国与中华民族内聚发展(辽宋夏金时期)-2025年版
- 2025定制衣柜安装承揽合同范本
- 2025年MicroLED行业研究报告及未来行业发展趋势预测
- 《彩虹》课件 部编版语文二年级上册
- 2025年全国企业员工全面质量管理知识竞赛试题及答案
- 麻醉恢复室护理要点
- 水下激光探测-洞察及研究
- 7.2 量身高(课件)-2025-2026学年三年级数学上册北师大版
- DB44∕T 2499-2024 海堤生态化建设技术导则
- GWZBQ-10(6)G 型微机高压启动器保护装置产品使用说明书
评论
0/150
提交评论