文档详情

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

发布:2017-03-29约2.79千字共6页下载文档
文本预览下载声明
实验四 异步串行通信接口编程 实验目的 掌握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
显示全部
相似文档