资源描述:
《微机原理实验指导书(勿删).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验一比较字符串实验一.实验目的1.掌握分支程序的设计方法。2.熟悉在PC机上建立、汇编、链接、调试和运行8086汇编程序的过程。二.实验内容1.比较两个字符串STRING1和STRING2所含的字符是否相同,若相同则显示‘Match’,否则显示‘NoMatch’。2.修改程序,显示所比较字符的个数。三.程序清单DATAREASEGMENTSTRING1DB'Movethecursorbackward.'STRING2DB'Movethecursorbackward.'MESS1DB'Match.',13,10,'$'MESS2DB'Nomatch.',13,10,'$'DATA
2、REAENDSPROGNAMSEGMENTMAINPROCFARASSUMECS:PROGNAM,DS:DATAREA,ES:DATAREASTART:PUSHDSSUBAX,AXPUSHAXMOVAX,DATAREAMOVDS,AXMOVES,AXLEASI,STRING1LEADI,STRING2CLDMOVCX,STRING2-STRING1REPZCMPSBJZMATCHLEADX,MESS2JMPDISPMATCH:LEADX,MESS1DISP:MOVAH,09HINT21HRETMAINENDPPROGNAMENDSENDSTART四.实验方法1.用编辑程序EDIT
3、.EXE建立源文件EDITD101-1.ASM↙在编辑状态下输入源程序,存盘后退出编辑状态。2.用汇编程序MASM.EXE对源文件进行汇编,产生目标文件MASMD101-1;↙Microsoft(R)MacroAssemblerVersion5.00Copyright(C)MicrosoftCorp1981-1985,1987.Allrightsreserved0WarningError0SevereError如汇编指示出错则需重新调用编辑程序修改错误,直至汇编通过为止。如调试需要LST文件,则应在汇编过程中建立该文件。MASMD101-1.ASM↙Microsoft(R)Mac
4、roAssemblerVersion5.00Copyright(C)MicrosoftCorp1981-1985,1987.AllrightsreservedObjectFilename[D101-1.OBJ]:↙SourceFilename[NUL.LST]:A01↙CrossReferenceFilename[NUL.CRF]:↙0WarningError0SevereError3.用连接程序LINK产生可执行文件LINKD101-1.OBJ↙Microsoft(R)PersonalComputerLinkerVersion2.00Copyright(C)MicrosoftC
5、orp1981-1985,1987.AllrightsreservedRunFile[D101-1.EXE]:↙Listfile[NUL.MAP]:↙Libraries[.LIB]:↙Warning:NoStackSegmentThereWas1ErrorDetected4.执行程序D101-1↙此时屏幕显示运行结果应为:Match.重新进入编辑状态,修改字符串的内容,使它们互不相同,然后重新汇编、连接、执行。其运行结果应为:Nomatch!5.使用调试工具DEBUG进行程序调试DEBUGD101-1.EXE↙此时DEBUG已将可执行程序A01.EXE装入内存,可直接用G命令运行
6、程序。-G↙Match.Programterminatednormally为调试程序的另一部分,可在DEBUG中修改字符串的内容。先用U命令反汇编,以便了解指令地址。显示结果如下∶-U0000↙19F3:00001EPUSHDS19F3:00012BC0SUBAX19F3:000350PUSHAX19F3:0004B8EE19MOVAX,19EE19F3:00078ED8MOVDS,AX19F3:00098EC0MOVES,AX19F3:000B8DLEASI,[0000]19F3:000F8D3E1900LEADI,[0019]19F3:0013FCCLD19F3:0014B9
7、1900MOVCX,001919F3:0017F3REPZ19F3:0018A6CMPSB19F3:00197406JZ002119F3:001B8D163B00LEADX,[003B]19F3:001FEB04JMP0025-U↙19F3:00218DLEADX,[0032]19F3:0025B409MOVAH,0919F3:0027CD21INT2119F3:0029CBRETF19F3:002AFF7501PUSH[DI+01]19F3:002D40INCAX19F3:00