资源描述:
《汇编语言实验指导书(用).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、汇编语言程序设计实验指导书汇编语言程序设计课程建设小组二〇〇五年九月内容简介本书是为了配合《IBM汇编语言程序设计》课程而编写的实验指导书。配合微型计算机汇编语言程序设计的教学体系及方法,通过上机实验循序渐进地加深对8086/88汇编语言的认识与理解,进而掌握程序设计的一般方法和技巧,并通过对程序的调试和运行,熟悉DEBUG的使用。本书编排了9个单元实验:3个验证性实验,5个设计性实验,1个综合性实验(选做)。每个验证性实验包括实验目的,实验环境,实验内容,原理和步骤等,设计性实验给出了基本要求,启发学生的思考和动手的
2、能力。本书可供各高校计算机专业、非计算机专业开设汇编语言程序设计课程用作实验教材。前言汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的惟一语言。因而,对程序的存储空间和运行时间要求较高的一些实际任务,一般都使用汇编语言进行编程处理;至于很多实时性强、需要直接控制硬件的应用场合,则更是非用汇编语言不可了。汇编语言程序设计是高等院校计算机科学与技术专业“汇编语言程序设计”必修课,实践环节是帮助学生加深认识和理解理论教学知识的重要途径。学生应该通过大量的上机实验熟悉8
3、086CPU的指令功能、用途和使用技巧,进而通过循序渐进的程序设计练习,验证各类指令的功能和提高程序设计的能力。本实验指导书由9个单元实验组成:汇编语言的调试和运行、堆栈指令和算术指令、逻辑指令和串处理指令、汇编语言程序格式、逻辑指令和程序设计、循环程序设计、子程序结构、DOS功能调用和综合实验。本书所给实验程序全部通过上机验证,各实验之间相互配合而又自成体系,易于为不同类型专业按其实验教学要求选做,所以本书具有较宽的适用面。目录实验一汇编语言的调试和运行1实验二堆栈指令和算术指令2实验三逻辑指令和串处理指令4实验四汇
4、编语言程序格式6实验五分支程序设计5实验六循环程序设计9实验七子程序结构13实验八DOS功能调用16实验九综合实验20附录1ASCII码表22附录2汇编语言常用出错信息23附录3DEBUG命令27附录4C语言调用汇编语言30实验一汇编语言的调试和运行一、实验目的1、熟悉DEBUG程序和命令,并用它运行基本指令和察看运行结果。怎样调用Debug②如何显示和修改内存单元③如何显示和修改CPU的寄存器④各标志位的状态是如何表示的,怎样修改标志寄存器⑤怎样汇编与反汇编⑥怎样执行程序⑦怎样跟踪程序⑧怎样命名和读写文件⑨怎样退出D
5、ebug2、熟悉汇编中通用传送指令。3、理解指令不同的寻址方式,注意规定或限制使用的寄存器如:双操作数指令中,源操作数和目的操作数的地址不能同时为存储器地址,段跨越前缀不能使用CS,操作对象是地址还是地址中的内容,指令隐含使用的寄存器。二、实验内容1、键入DEBUG进入DEBUG控制状态,显示提示符'-'。2、用命令F10010F'A'将'A'的ASCII码填入内存。3、用命令D10010F观察内存中的十六进制码及屏幕右边的ASCII字符。4、用命令F11011F41重复上二项实验,观察结果并比较。5、用命令E1003
6、03132……3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是什么字符的ASCII码?6、用DEBUG调试和运行下列程序,记录所用的DEBUG命令和运行结果。MOVWORDPTR[1100],3445MOVWORDPTR[1102],5678MOVWORDPTR[1106],6732MOVAX,[1100]SUBAX,[1102]ADDAX,[1106]MOV[1104],AXHLT其中粗斜体的数字可以修改。7、内存操作数及各种寻址方式使用程序内容:MOVAX,1234MO
7、V[1000],AXMOVBX,1002MOVBYTEPTR[BX],20MOVDL,39INCBXMOV[BX],DLDECDLMOVSI,3MOV[BX+SI],DLMOV[BX+SI+1],DLMOVWORDPTR[BX+SI+2],2846操作步骤1) 用A命令键入上述程序,并用T命令逐条运行。2) 每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。注意:D命令显示结果中右边的ASCII字符及双字节数存放法。思考:有关指令中BYTEPTR及WORDPTR伪操作不加行不行
8、?试一试。实验二堆栈指令和算术指令一、实验目的1、熟悉掌握堆栈操作指令、算术指令的格式、功能及用法。2、熟悉二进制数的四则运算指令,掌握各种运算指令的格式、用法、寻址方式和对标志位的影响,特别是对溢出标志位CF和OF的影响。二、实验内容1、写出书中习题3.13所用指令,用DEBUG运行并察看和验证运行结果,在实验报告中画出堆栈区和