6、装入程序
四 实验结果
1、编译成功:
2、链接成功:
3、装入程序成功:
第 46 页 共 87 页
46
第 47 页 共 87 页 47
4、实验运行结果截图
五 思考与总结:
通过此次试验,我了解INT 10H各功能块的作用及用法并掌握了字符方式下PC机显示器显示控制,对其有了初步的了解。在实验当中虽然遇到很多的问题但是老师都一一为我解答了,让我顺利完成了实验。在以后的学习过程中还需要注意此类问题,真正的掌握这些知识点,做到灵活运用自己所掌握的知识。
第 48 页 共 87 页 48
实验九 中断特性及8259应用编程实验
一 实验目的
1.认识TDN86/51系统的中断特性 2.掌握8259中断控制器的工作原理 3.掌握8259可编程中断控制器的应用编程
二 实验设备
1.TDN86/51或TDN86/88教学实验系统一台 2.排线、导线一根
三 实验内容及步骤 实验1
1 编写源代码:
STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT
ASSUME CS:CODE
START:PUSH DS ;保存数据段
MOV AX,0000H ;将AX清零,将0000传给AX
MOV DS,AX ;数据段清零,将AX内容传给DS,所以DS清零 MOV AX,OFFSET IRQ7 ;取中断程序入口地址(相对地址) ADD AX,2000H ;加装载时IP=2000地址(绝对地址)
MOV SI,003CH ;填8259中断7中断矢量,把003CH内容传给SI MOV [SI],AX ;填偏移量矢量,将AX地址传给SI MOV AX,0000H ;地址段CS=0000H MOV SI,003EH ;将003E传给SI
MOV [SI],AX ;填地址段矢量,将AX地址传给SI CLI ;关中断 POP DS ;弹栈
IN AL,21H ;读8259中断屏蔽字,把21H端口内容给AL AND AL,7FH ;开8259中断7
OUT 21H,AL ;将AL内容回传给21H
第 49 页 共 87 页
49
MOV CX,000AH ;循环10次
A1:CMP CX,0000H ;判断是否完成循环 JNZ A2 ;跳转
IN AL,21H ;读8259中断屏蔽字,把21H端口内容给AL OR AL,80H ;关8259中断7
OUT 21H,AL ;将AL内容回传给21H STI HLT A2:STI
JMP A1 ;无条件跳转至A1
IRQ7: MOV AX,0137H ;中断程序入口
INT 10H ;返回操作程序,结束程序运行 MOV AX,0120H ;中断程序出口
INT 10H ;返回操作程序,结束程序运行 DEC CX ;CX自减1 MOV AL,20H ;将20传给AL OUT 20H,AL ;将AL回传给20 CLI IRET CODE ENDS END START
2. 编译、连接、装载 3.G=0000:2000运行程序
4.重复按KK2微动开关,显示屏上应用“7”来响应,直到按10次后,系统处于停机状态。
实验2
1 编写源代码:
STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT
ASSUME CS:CODE
START:PUSH DS ;保存数据段
MOV AX,0000H ;将AX清零,将0000传给AX
MOV DS,AX ;数据段清零,将AX内容传给DS,所以DS清零 MOV AX,OFFSET IRQ6 ;取中断程序入口地址(相对地址) ADD AX,2000H ;加装载时IP=2000地址(绝对地址)
MOV SI,0038H ;填8259中断6中断矢量,把0038H内容传给SI
第 50 页 共 87 页 50