欢迎来到天天文库
浏览记录
ID:55459879
大小:49.00 KB
页数:11页
时间:2020-05-14
《微机原理实指导(3-6).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三基于选择结构的程序设计一.实验目的1.掌握分支程序的设计方法;2.掌握利用DEBUG修改参数、检查结果的方法;1.熟悉汇编语言源程序的编辑、汇编、连接及调试过程。二.实验内容1.编写一个程序,显示AL寄存器中的两位十六进制数2.编写一个程序,计算分段函数的值:。三.实验要求1.编写实验内容要求的两个程序;2.利用DEBUG分析结果的正确性;3.熟悉源程序汇编、连接命令的使用方法。四.实验设备PC微机DOS操作系统或Windows操作系统MASM.EXE,LINK.EXE,DEBUG.COM或宏汇编集成环境五.实验步骤1.用EDIT或其它编辑软件,编写.ASM源程序
2、,例如HEXASC.ASM及DSPKEY.ASM。2.对其进行汇编及连接,产生.EXE文件。3.对.EXE文件进行调试运行。(1)用DEBUG调试运行,学会修改AL内容的方法;(2)对DSPKEY.EXE键入不同的字符,分别进行调试;(3)在MS-DOS下运行这两个.EXE文件。实验参考程序清单(1) 显示AL中两位十六进制数程序:;DISPHEX.ASMCODESEGMENTASSUMECS:CODESTART:MOVAL,3EHMOVBL,ALMOVDL,ALMOVCL,4SHRDL,CLCMPDL,9JBENEXT1ADDDL,7NEXT1:ADDDL,3
3、0HMOVAH,2INT21H;显示高位ASCII码MOVDL,BLANDDL,0FHCMPDL,9JBENEXT2ADDDL,7NEXT2:ADDDL,30HMOVAH,2INT21H;显示低位ASCII码MOVAH,4CHINT21HCODEENDS;返回DOSENDSTART(2)(源程序在P130页)六.实验小结分支程序可分为:产生条件、测试、定向、标号。分支结构有单分支结构,双分支结构,多分支结构。用能够影响CF、ZF、OF的指令来产生条件,如CMP,SUM,AND,TEST,位移指令。汇编的分支程序设计使得我们对于一个较为繁琐的程序的编写有了一定的条理,而且
4、方便人们对于所编写的程序进行有条理的检查,对程序的修改也更加方便。进行分支结构使得汇编语言更加灵活,实验四基于循环结构的程序设计一.实验目的1.掌握循环程序的设计方法;2.学会针对不同的问题,选用不同的组织循环的方法;3.进一步熟悉利用DEBUG程序修改参数的方法,并检查和验证结果的正确性。二.实验内容1.求累加和程序;2.多字节加法程序;3.数据串搬家程序;4.编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。三.实
5、验要求1.编写实验内容要求的两个程序;2.写出调试以上程序,即修改程序参数,检查结果的操作方法;3.熟悉源程序汇编、连接命令的使用方法即要回答的内容。4.仔细阅读有关DEBUG命令的内容,对有关命令,要求事先准备好使用的例子;5.阅读数据传送指令、算术运算指令、逻辑指令、数据串传送程序和数据串传送指令MOVS、STOS及重复前辍REP的内容;6.用DEBUG的有关命令调试本实验中的求累加和程序、多字节加法程序、数据串搬家程序段。四.实验设备PC微机DOS操作系统或Windows操作系统MASM.EXE,LINK.EXE,DEBUG.COM或宏汇编集成环境五.实验步骤1.
6、用EDIT或其它编辑软件,编写.ASM源程序;2.对其进行汇编及连接,产生.EXE文件;3.对.EXE文件进行调试运行。(1)用DEBUG调试运行,学会修改AL内容的方法;(2)键入不同的字符,分别进行调试;(3)在MS-DOS下运行这两个.EXE文件。1.求累加和程序:程序:MOVBX,1000MOVCX,10SUBAX,AXLOP:ADDAL,[BX]ADCAH,0INCBXJ:LOOPLOPINT3步骤:(1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替;(2)用命令NAA将此程序命名为
7、文件AA(文件名可任取);(3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址;(4)用命令W100将此程序存到AA命名的磁盘文件中;(5)用命令Q退出DEBUG;(6)用命令DEBUGAA再次调入DEBUG和文件AA,可用U命令检查调入程序;若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入;(7)用E命令在内存地址1000H处键入16个数字;(8)用命令G=100J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是否符合你的预计值;(9)用T命令运行一步,观察程序方向(IP值)
此文档下载收益归作者所有