资源描述:
《汇编实验3分支程序实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、贵州大学实验报告纸系别电科系班级电科091姓名学号课程名称微型计算机技术成绩评定教师签名实验时间2011年11月270一.实验题目:分支程序实验二.实验内容:1、编写一个程序,显示AL寄存器中的两位十六进制数。2、编写一个程序,判别键盘上输入的字符;若是0-9字符,则显示之;若为A-Z或a・z字符,均显示“c";若是回车字符<CR>(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。三.实验目的:1、掌握分支程序的设计方法。2、掌握利用DEBUG修改参数、检查结果的方法。3、掌握汇编语言源程序的编辑、汇编、连接及调试过程。四.实验步骤:1、用E
2、DIT或其它编辑软件,编写.ASM源程序,例如HEXASC.ASM及DSPKEY.ASM。命令提示符-editdispkey.asmCODESEGMENTASSUMECS:CODESTART:MOVAH,1INT21HCMPALJDHJZDONECMPALJETJBNEXTCMPAL,9JflCHARUPMOVDL,ALMOVAH,2INT21HJMPSTARTCHARUP:CHPAL,41HJBNEXTCMPAL,5AHJACHRDNDISPC:MOVDL,CMOVAH,2INT21HNEXT:JMPSTART以上分别是IIEXASC.ASM及DSPKEY.ASM源程序代码
3、。2、对其进行汇编及连接,产生.EXE文件。如下分别为HEXASC.DSPKEY程序汇编、连接过程。C:HB>masmdisphex•日smMicrosoft(R)MacroAssemblerVersion5.00Copyright(C)MicrosoftCorp1981-1985,1987.Allrightsreserved.Objectfilename[disphex.OBJ]:Sourcelisting[NUL.LST1:Cross-reference[NUL.CRF1:50364+415140Bytessymbolspacefree0WarningErrors0Se
4、vereErrorsC:HB>linkdisphex.objIBMPersonalComputerLinkerVersion2.00(C)CopyrightIBMCorp1981,1982,1983RunFile[DISPHEX.EXE]:ListFile[NUL.MAPI:Librariesi・LIB]:Warning:NoSTACKsegmentTherewas1errordetected.C:HB>masmdispkey.asmMicrosoft(R)MacroAssemblerVersion5.00Copyright(C)MicrosoftCorp1981-198
5、5,1987.fillrightsreservedObjectfilename[dispkey.OBJ]:Sourcelisting[NUL.LST1:Cross-reference[NUL.CRFJ:50364*415140Bytessymbolspacefree0WarningErrors0SevereErrorsC:HB>linkdispkey.objIBMPersonalComputerLinkerVersion2.00(C)CopyrightIBMCorp1981,1982,1983RunFile[DISPKEV.EXE]:ListF订e[NUL.MAPI:Lib
6、rariesLliR]:Warning:NoSTACKsegmentTherewas1errordetected.3、对.EXE文件进行调试运行。(1)用DEBUG调试运行,学会的方法。C:HB>disphex.exe3EC:HB>debugdisphex.exeAX=0000BX=0000CX=0080DX=0000SP=0000BP=0000SI=0000DI=0000DS=1162ES=1162SS=1172CS=1172IP=0000NVUPDIPLNZNAPONC1172:0000B03EMOVAL.3E"""L」1172:0000B03EMOVAL,3E117
7、2:00028AD8MOVBL,AL1172:00048AD0MOVDL.AL1172:0006B104MOVCL,041172:0008D2EASHRDL.CL1172:000A80FA09CMPDL.091172:00007603JBE00121172:000F80C207ADDDL,071172:001280C230ADDDL,301172:0015B402MOVAH.021172:0017CD21INT211172:00198AD3MOVDL,BL1172:001B80E20FANDDL,0F1