- 1
- 0
- 约2.27千字
- 约 7页
- 2024-04-15 发布于湖北
- 举报
上机实验报告
课程名称
计算机接口与外设
上机内容
中断实验
学院
计算机学院
专业
计算机科学与技术
班级
学号
学生姓名
指导教师
吴以凡
完成日期
2014-12-9
一、实验目的
1、掌握8259中断控制器的工作原理。
2、学会编写中断服务程序。
实验内容及成果展示
实验1:使用软中断
代码:
start:
MOVAX,DATA
MOVDS,AX
CLI
MOVSI,0CH*4
MOVAX,OFFSETINTSERVICE;中断入口偏移地址
MOVES:[SI],AX
MOVAX,SEGINTSERVICE;中断入口的段地址
MOVES:[SI+2],AX
STI;开中断
MOVAL,CNT;初始CNT=1
MOVDX,0000H;led的地址
OUTDX,AL;开始第一个灯亮
LI: CALLINTSERVICE;调用软件中断
CALLDELAY;延时
JMPLI
;中断服务程序----------------------------------
INTSERVICEPROC
PUSHDS
MOVAL,CNT;cnt=1;
ROLAL,1;cnt=cnt1
MOVCNT,AL
MOVDX,0000H;led=cnt1
OUTDX,AL
POPDS
INTSERVICEENDP
;-------------------------------------------------
;软件延时子程序----------------------------------
DELAYPROC
PUSHBX;这里用到堆栈
PUSHCX
MOVBX,1
LP2:MOVCX,0
LP1:LOOPLP1
DECBX
JNZLP2
POPCX
POPBX
RET
DELAYENDP
codeENDS
ENDstart实验结果:
实验2:使用1片8259A+按钮硬件中断
代码如下:
start:
MOVAX,DATA
MOVDS,AX
;中断向量的设置-------------------------------------------
CLI
MOVAX,0
MOVES,AX
MOVSI,60H*4
MOVAX,OFFSETINT0;中断入口偏移地址
MOVES:[SI],AX
MOVAX,SEGINT0;中断入口的段地址
MOVES:[SI+2],AX
;初始化8259A------------------------------------------------
;设置ICW1;设置ICW1(教材P207图7.3)
MOVAL;边沿触发/单片使用/需要ICW4
MOVDX,020H;端口号
OUTDX,AL
;设置ICW2;设置ICW2(教材P208图7.4)
MOVAL;中断向量号60H
MOVDX,020H;端口号
OUTDX,AL
;设置ICW4;设置ICW4
MOVAL;特殊全嵌套方式/缓冲方式(从片)/自动结束方式/16位机
OUTDX,AL
;设置OCW1
MOVDX,21H;设置OCW1(教材P209图7.7)
MOVAL;8个中断全部开放
OUTDX,AL
;8259初始化结束---------------------------------------------
MOVAL,CNT;初始CNT=1
MOVDX,0200H
原创力文档

文档评论(0)