资源描述:
《实验38259中读取键盘并实验》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验38259中读取键盘并实验实验2中断控制器接口编程一、实验目的1.掌握8259编程方法。2.学习DEBUG调试程序的使用方法。二、实验准备1.复习教材《微机接口技术及应用》有关8259编程内容。2.参考“汇编语言编程设计”有关书籍,预习DEBUG调试程序的使用方法。三、实验内容(一)用EDIT进行文件编辑步骤同实验2,文件名为COMMU.ASM(二)编译程序1.程序汇编C:WIND0WSSHY2〉MASM.EXECOMMUI显示objectfilename[COMMU.OBJ]Isourcelisting[NUL.LST]COMMU.LSTIcro
2、ssreference[NUL.CRF]I显示WarringErrors和SevereErrors信息若无错则可进行链接,若有错用EDIT修改源程序后再汇编直至无错误提示通过汇编为止。1.程序链接C:WIND0WSSHY2〉LINKCOMMU1显示RunFile[SOUND.EXE]1ListFile[NUL.MAP]ILibraries[丄IB]I查子目录中文件,可见SOUND.OBJ、COMMU丄ST、SOUND.EXE文件己存在。(三)运行程序1.C:WINDOWSSHY2〉COMMUI2.从键盘输入发送内容,以自测方式,接受发送Aj容并显示
3、在屏幕上。(四)用DEBUG调试程序1.进入DEBUG并装入程序COMMU.EXE,操作如下:C:WIND0WSSHY2〉DEBUGCOMMU.EXE1DEBUG以-来回答。2.用反汇编命令显示程序0标码,操作如下:-UI屏幕显示12B5:00001E12B5:0001B8000012B5:00045012B5:0005BA03FB12B5:OOOAEE12B5:OOOBBA03F812B5:OOOEBO60參?pushdsmovax,0pushaxmovdx,3fbhmovalz80houtdx'almovdxz3f8hmoval,60h所示信息从左
4、至右依次为:段地址:偏移地址,机器语言指令,汇编语言指令査看程序冃标码,并记录需设置断点处的地址。1.设置断点,用G命令分段运行程序,操作如下:-GXX(XX为断点处的偏移地址的低字节)如键入G14,屏幕显示AX=0060BX=OOOOCX=0176DX=03F9SP=OOFCBP=OOOOSI=0000DI=0000DS=1295ES=1295SS=12A5CS=12B5IP=0014NVUPElPLNZNAPONC12B5:0014B000MOVAL,00程序停在断点处,显示内容为所有寄存器以及各标志位的当前值,最后一行给出下一条将要执行的指令地址、机
5、器语言、及汇编语言。记录有关内容,填写汇编语言程序注释中要求的内容。设置下一断点,用G命令继续运行程序。四、实验报告1.打印源程序SOUND.ASM清单,填空注释。五、参考程序.modelsmall.stack.dataold_ip09dw?old_cs09dw?oldJpOfdw?old_csOfdw?countdw?bufferdb20hdup('?')buf_pdw?start_msgdb0ah,0dh,'RUN!'0ah,0dh,'$'end_msgdb0ah,0dh/'end!'0a
6、h,0dh,'$'full_msgdb'bufferfull!'Oah,Odh,'$'.codemainprocfarstart:movax,@datamovds,axleaax,buffermovbuf_p,ax;saveoldinterrupt09hmoval,09hmovah,35int21hmovold_cs09,esmovoldjp09,bxpushds;setnewinterruptleadx'kdbintmovax,segkdbintmovds,axmoval,09hmovah,25hint21
7、hpopds;setkeyboardinterruptmaskbitsinal,21handal,Ofdhout21h,alstimovdi,20000delay:movsi,30000delayl:decsidecdijnzdelaymovdi,20000dey:movsi,30000deyl:decsijnzdeyldecdijnzdeymovdi,20000de:movsi,30000del:decsijnzdeldecdijnzdemovdi,20000d:movsi,30000dl:decsijnzdldecdijnzdcli;saveoldpu
8、shdsmovdx,oldjp09movax,old_cs09mo