资源描述:
《(2014)微机原理及接口技术实验指导书.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验一系统认知实验实验目的:了解汇编语言的设计、编写和调试程序的方法,掌握DEBUG的使用。实验设备:装有DOS系统和MASM5.0的微机一台,或TDN86/88微机原理教学实验系统一台。实验内容:编程实现在屏幕上显示一个大写字母“A”或字符串“HOWAREYOU?”,用DEBUG调试程序实验要求:1、上机前做好充分准备,包括源程序清单、调试步骤等;2、用DEBUG来调试程序,熟悉DEBUG的使用。实验步骤:1、编写程序并输入,检查无误后,经汇编、连接后运行,用DEBUG装入。2、用U命令反汇编程序,应用R、G等命令,观看运行
2、情况。3、用D、E、A等命令查看、修改源数据,用G命令查看运行结果。4、用Q命令退出DEBUG上机过程v1.建立源文件使用EDIT软件,得到扩展名为ASM的汇编语言源程序文件。(扩展名.asm勿忘加!)v2.汇编源程序使用汇编程序MASM对源程序进行汇编,生成OBJ、LST和CRF文件(后两种一般不需要,可直接回车)。如程序有错,可以根据提示信息,重新编辑、汇编源程序,直到没有严重错误为止。v3.连接程序使用连接程序LINK,对汇编程序产生的目标文件进行连接,产生可执行的程序EXE。v4.调试或运行程序具体过程如下:v1.编辑
3、C:MASM>EDIT文件名.ASMv2.汇编C:MASM>masm文件名.ASMv3.连接C:MASM>link文件名.objv4.调试C:MASM>debug文件名.exev-U反汇编,记下程序首地址和结束地址v-D段地址:偏移地址察看内存单元内容v-E段地址:偏移地址修改内存单元内容:空格修改下一个,回车结束修改v-G=起始地址结束地址运行程序参考源程序:(1)屏幕上显示一个大写字母“A”STACKSEGMENTSTACKDW64DUP(?)STACKENDSCODESEGMENTASSUMECS:CODESTA
4、RT:MOVAH,02HMOVDL,41HINT21HINT20HCODEENDSENDSTART(2)屏幕上显示字符串“HOWAREYOU?”DATASEGMENTBUFDB'HOWAREYOU?$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETBUFMOVAH,09HINT21HMOVAH,4CHINT21HCODEENDSENDSTART实验二分支程序设计实验一、实验目的1.掌握分支程序的结构。2.掌握分支程序的设计
5、、调整方法。二、实验设备TDN86/88教学实验系统一台。三、实验内容及步骤设计一数据块间的搬移程序设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。源数据块和目的数据块在存储中可能有三种情况,如图3-1所示。图3-1源数据块与目的数据块在存储中的位置情况对于两个数据块分离的情况,如图3-1(a),数据的传送从数据块的首地址开始,或从数据块的末地址开始均可。但是对于有重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭到破坏,可有如下结论:当源数据块首地址<目的块首地址时,从数据块末地址开
6、始传送数据,如图3-1(b)所示。当源数据块首地址>目的块首地址时,从数据块首地址开始传送数据,如图3-1(c)所示。参考流程:如图3-2所示。图3-2程序流程图实验程序STACKSEGMENTSTACKDW64DUP(?)STACKENDSCODESEGMENTASSUMECS:CODESTART:MOVCX,0010HMOVSI,3100HMOVDI,3200HCMPSI,DIJAA2ADDSI,CXADDDI,CXDECSIDECDIA1:MOVAL,[SI]MOV[DI],ALDECSIDECDIDECCXJNEA1J
7、MPA3A2:MOVAL,[SI]MOV[DI],ALINCSIINCDIDECCXJNEA2A3:JMPA3CODEENDSENDSTART实验步骤(1)输入程序并检查无误,经汇编、连接后装入系统。(2)用E命令在以SI为起址的单元中填入16个数。(3)G=↙,运行实验程序。(4)用D命令查看DI为起址的单元中的数据是否与SI单元中数据相同。(5)试改变SI、DI的取值,观察在三种不同的数据块情况下程序的运行。四.思考题为什么当源数据块首址>目的块首址时,应从数据块首地址开始传送数据。而当数据块首址<目的块首址时,应从数据块
8、末地址开始传送数据?实验三循环程序设计一.实验目的1.加深对循环结构的理解。2.掌握循环结构程序设计的方法。3.熟练掌握调试循环程序的方法。二.实验设备TDN86/88教学实验系统一台。三.实验内容及步骤1.编制程序计算S=1+2×3+3×4+4×5+…+N(N+1),直到N