




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验3 8259中读取键盘并实验实验2中断控制器接口编程一、实验目的1. 掌握8259编程方法。2. 学习debug调试程序的使用方法。二、实验准备1. 复习教材微机接口技术及应用有关8259编程内容。2. 参考“汇编语言编程设计”有关书籍,预习debug调试程序的使 用方法。三、实验内容(一)用edit进行文件编辑步骤同实验2,文件名为commu.asm(二)编译程序1. 程序汇编c:wind0wsshy2)masm.exe commu i显示 object filename commu.obj isource listingnul.lst commu.lst icross ref ere
2、ncenul.crf i显示 warring errors 和 severe errors 信息若无错则可进行链接,若有错用edit修改源程序后再汇编直至无错误提示通过汇编为止。2 程序链接c:wind0wsshy2)linkcommu i显示 run file sound.exe !list filenul.map ilibraries!丄 ib i查子目录中 文件,可见sound.obj、commu.lst、sound.exe文件 已存在。(三)运行程序1. c:wind0wsshy2) commu i2. 从键盘输入发送内容,以自测方式,接受发送内容并显示在屏幕上。(四)用debug调试
3、程序1. 进入debug并装入程序commu.exe,操作如下:c:wind0wsshy2)debug commu.exe idebug以來回答。2. 用反汇编命令显示程序目标码,操作如下:u i屏幕显示12b5:00001e12b5:0001b8 000012b5:00045012b5:0005ba 03fb12b5: 0008 b0 8012b5: oooa ee 12b5: ooob ba 03f812b5: oooe bo 60? push ds mov ax,0 push ax mov dx,3fbh mov alz80h out dx,al mov dxz3f8h mov al,6
4、0h所示信息从左至右依次为:段地址:偏移地址,机器语言指令,汇编语言指令查看程序冃标码,并记录需设置断点处的地址。3. 设置断点,用g命令分段运行程序,操作如下:-gxx ; (xx为断点处的偏移地址的低字节)如键入g14,屏幕显示ax二0060 bx=oooo cx=0176 dx=03f9 sp=oofc bp=oooo si=0000 di=0000 ds=1295 es=1295 ss=12a5 cs=12b5 ip=0014 nv up el pl nz na po nc 12b5: 0014 b000 mov al, 00程序停在断点处,显示内容为所有寄存器以及各标志位的当前值,最
5、 后一行给岀下一条将要执行的指令地址、机器语言、及汇编语言。记录有关内容,填写汇编语言程序注释中要求的内容。设置下一断点,用g命令继续运行程序。四、实验报告1.打印源程序sound.asm清单,填空注释。五、参考程序model small.stack.dataoldp09 dw ?old_cs09 dw ?oldpof dw ?old_csof dw ?count dw ?buffer db 20h dup('?')buf_p dw ?start_msg db 0ah,0dh,'run!'0ah,0dh,'$&am
6、p;#39; end_msgdb 0ah,0dh,'end!'0ah,0dh,'$' full_msg db'buffer full !'oah,odh,'$' codemain proc farstart:mov ax,datamov ds,axlea ax,buffermov buf_p ,axmov counto;save old interrupt 09hmov al,09hmov ah,35int21hmov old_cs09,esmov oldjp09,b
7、xpush ds;set new interruptlea dx,kdbintmov ax,seg kdbintmov ds,axmov al,09hmov ah,25hint21hpop ds;set keyboard interrupt mask bits in al,21hand al,ofdhout 21h,alstimov di,20000delay: mov si,30000 delayl: dec si jnz delay 1dec di jnz delaymov di,20000dey: mov si,30000deyl: dec sijnz deyldec dijnz dey
8、mov di,20000 de: mov si,30000 del: dec si jnz del dec di jnz demov di,20000 d: mov si,30000 dl: dec si jnz dl dec di jnz dcli;save old push dsmov dx,oldp09 mov ax,old_cs09 mov ds,ax mov al,09h mov ah,25h int21h pop ds;enable in al,21h and al,ofdh out 21h,alstimov ax,4c00h int 21h main endp ;kdbint p
9、roc near push ax push bx cldin al?60h push ax in al?61h mov ah,al or al,80h out 61hzal xchgah,al out 61h,al pop ax test al,80h jnz returnl mov bx,buf_p mov bx zal call display_hex inc bx inc count mov buf_p,bx check:cmp count ,20h jb returnlreturnl:climov al,20h out 20h,al pop bxpop axiretkdbint endpdisplay_hex proc near push axpush expush dxmov ch?2mov cl,4nextb:rol alzclpush axmov dl.aland dl,ofh or dl,3ohcmp dl,3ah jl dispi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网约车合同协议书
- 软件评测师应试技巧分析试题及答案
- 历史本科试题及答案
- 浦东新区税务管理试题及答案
- 知到插花考试题库及答案
- 育婴员技能考试题及答案
- 中级社会工作者考试中的案例评估技巧及试题及答案
- 2025无偿的个人借款合同范本
- 安全检查复习测试附答案
- 焊工复审试题及答案
- 2023年广西高考历史真题(含答案)
- 四川建筑施工资料表格(施工单位用表)全套
- 工作作风不严谨的表现及改进措施范文(通用5篇)
- 过滤器检验报告
- DB11-T 675-2014 清洁生产评价指标体系 医药制造业
- 2023家具采购合同范本专业版-1
- GB/T 29319-2012光伏发电系统接入配电网技术规定
- GB/T 11264-2012热轧轻轨
- 国学导论·巴蜀文化课件
- 《事业单位人事管理条例》及其配套制度讲义课件
- 试卷交接签字单
评论
0/150
提交评论