实验4异步串行通信接口编程.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验4异步串行通信接口编程

实验四 异步串行通信接口编程 实验目的 掌握8250编程方法。 学习DEBUG调试程序的使用方法。 实验准备 复习教材《微机接口技术及应用》有关8250编程内容。 参考“汇编语言编程设计”有关书籍,预习DEBUG调试程序的使用方法。 实验内容 (一)用EDIT进行文件编辑 步骤同实验2,文件名为COMMU.ASM 编译程序 程序汇编 C:\WINDOWS\SHY2〉MASM.EXE COMMU↓ 显示 object filename [COMMU.OBJ] ↓ source listing[NUL.LST] COMMU.LST↓ cross reference[NUL.CRF] ↓ 显示 Warring Errors 和Severe Errors信息 EDIT修改源程序后再汇编直至无错误提示通过汇编为止。 C:\WINDOWS\SHY2〉LINK COMMU↓ 显示 Run File [SOUND.EXE] ↓ List File[NUL.MAP] ↓ Libraries[.LIB] ↓ 查子目录中文件,可见SOUND.OBJ 、COMMU.LST、 SOUND.EXE文件已存在。 运行程序 C:\WINDOWS\SHY2〉COMMU↓ 从键盘输入发送内容,以自测方式,接受发送内容并显示在屏幕上。 用DEBUG调试程序 进入DEBUG并装入程序COMMU.EXE,操作如下: C:\WINDOWS\SHY2〉DEBUG COMMU.EXE↓ DEBUG以-来回答。 用反汇编命令显示程序目标码,操作如下: -U↓ 屏幕显示 12B5:0000 1E push ds 12B5:0001 B8 0000 mov ax,0 12B5:0004 50 push ax 12B5:0005 BA 03FB mov dx,3fbh 12B5:0008 B0 80 mov al,80h 12B5:000A EE out dx,al 12B5:000B BA 03F8 mov dx,3f8h 12B5:000E B0 60 mov al,60h ? ? ? 所示信息从左至右依次为: 段地址:偏移地址,机器语言指令,汇编语言指令 查看程序目标码,并记录需设置断点处的地址。 设置断点,用G命令分段运行程序,操作如下: -G××↓(××为断点处的偏移地址的低字节) 如键入G14,屏幕显示 AX=0060 BX=0000 CX=0176 DX=03F9 SP=00FC BP=0000 SI=0000 DI=0000 DS=1295 ES=1295 SS=12A5 CS=12B5 IP=0014 NV UP EI PL NZ NA PO NC 12B5:0014 B000 MOV AL,00 程序停在断点处,显示内容为所有寄存器以及各标志位的当前值,最后一行给出下一条将要执行的指令地址、机器语言、及汇编语言。 记录有关内容,填写汇编语言程序注释中要求的内容。 设置下一断点,用G命令继续运行程序。 实验报告 打印源程序SOUND.ASM清单,填空注释。 参考程序 stack segment para stack’stack’ db 256 dup(0) stack ends code segment para publiccode start proc far assume cs:code push ds mov ax,0 push ax mov dx,3fbh mov al,80h out dx,al mov dx,3f8h mov al,60h out dx,al mov dx,3f9h mov al,0 out dx,al mov dx,3fbh mov al,0ah out dx,al mov dx,3fch mov al,13h out dx,al mov dx,3f9h mov al,0 out dx,al fore: mov dx,3fdh in al,dx test al,1eh jnz error test al,01h jnz rece test al,20h jz fore mov ah,1 int 16h jz fore mov ah,0 int 16h mov dx,3f8h out dx,al jmp fore rece:mov dx,3f8h in al,dx

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档