资源描述:
《DEBUG调试环境实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验一、DEBUG调试环境实验一寻找最大和最小数实验一、实验目的1、学习循环程序结构,掌握编写循环处理程序的方法和技巧。2、通过循环结构程序熟悉汇编语言程序设计的主要方法。3、了解和掌握程序设计过程中算法的选择。4、掌握汇编语言调试方法。二、实验内容以buff开始的内存单元中有10个有符号数(字节型DB):-37、28、-115、-2、98、-100、93、120、56、-99请编写程序,找出最大的数并存入MAX单元中,同时也找出最小的数并存入MIN单元中,在DebugK运行程序,查看数据区MAX和M1N
2、的内容检验运行结果。结束DATASEGMENTBUFDB-37,28,-115,-2,98,-100,93,120,56,-99CNTEQU$-BUFMAXDB?MINDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,CNT-1MOVBX,OFFSETBUF;首地址MOVAH,LBXJMOVALJBX1LOOP1:INCBXCMPAH,[BXJJGENEXT1MOVAH,[BX]JMPNEXT2NEXTI:CM
3、PALJBXJJNGENEXT2MOVAL,[BX]NEXT2:DECCXJNZLOOP1MOVMAX,AHMOVMIN,ALMOVAH,4CHINT21HCODEENDSENDSTART循坏次数存放最人数存放最小数;假定笫一个数为最大数;假定第一个数为戢小数;若AL>[BX],替换三、编程提示1、在数据段设置buff区(DB)存放10个被测试的数,再分别设置字节数据MAX、MIN。例如:buffdb-37、28、-115、-2、98、-100、93、120、56、-99MAXdbMINdb2、通过一个循
4、环程序完成比较,先用第一个数与第二个,把较小的数放在AL中,较大的数放在AH中。3、以后每次都用AL与后面的数比较,把小的总放在AL中;然后再用AH与后面的数比较,把大的放在AH中;比较结束后AL和AH分别放最小和最大数。四、实验步骤1、在EDIT或其它编辑方式下输入源程序,并以XXX.ASM名保存。2、用MASM文件汇编源程序,OMASMXXX;如有错误,回到第一步,如没错误,到第三步。3、MJLINK连接程序,OL1NKXXX;形成XXX.EXE文件。4、在DEBUG调试环境下调试并运行XXX.EXE
5、程序。ODEBUGXXX.EXE回车首先用R指令,然后使用U指令查看口己所编写的程序,确定断点后,使用G命令执行程序到断点,查看结果,程序运行结束后,用DDS:O检查数据区MAX及MTN内容,检查结果是否正确。DOSE:OXDOSBox0.74,Cpuspeed:3000cycles.Frameskip0,Program:DOSBOXC:>masmmax.asmMicrosoft(R)MacroAssemblerUersion5.00Copyright(C)MicrosoftCorp1981-1985,
6、1987.Allrightsreserved.Objectfilename[max.OBJ]:Sourcelisting[NUL.LSTJ:Cross-reference[NUL.CRF1:51690+464854Bytessymbo1spacefree0WarningErrors0SevereErrorsC:>1inkmax.objMicrosoft(R)OverlayLinkerUersion3.60Copyright(C)MicrosoftCorp1983-1587.Allrightsreserv
7、ed.RunFile[MAX.EXE]:ListFile[NUL.MAP]:Libraries[.LIB]:LINK:warningL40Z1:nostacksegmentC:、>debugmax•exjLINK:uarningL4021:nostacksegmentC:>debug—max.exeAX=FFFFBX二0000CX=0O3DDX二©GOOSP=0OOOBP=O0O0SI=0000DI二00001DS=075AES=0?5ASS=0769CS=076BIP=0900MUUPElPLMZMA
8、POMC076B:00O0B86A07MOUAX,0?6AuO76B:OO0OB86A07MOUAX,076A076B:O0038ED8MOUDS,AX076B:GOO5B9090OMOUCX,00090?6B:0008BBOOOOMDUBX,OOO0076B:G00B8AZ?MOUAH,[BXJ076B:GOOD8A07MOUAL,[BXJ076B:G0OF43INCBXO?6B:0O103AZ?CMPAH,[BXJ076B