- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(3)为DEBUG设置的中断 ①单步中断:每条指今执行后,CPU产生中断。 产生的条件:TF(陷井标)=1。 ②断点中断:CPU执行到断点处(INT 3)产生中断。 外中断:来自CPU芯片外的中断请求。 外中断源分为两类:非屏蔽外中断和可屏蔽外中断。 可屏蔽外中断的控制:中断屏蔽寄存器(端口号21H)(P293) 标志寄存器的IF位(1:允许中断) 8.4.6 中断服务程序 主程序为中断所做的准备工作和硬件(包括CPU和外设接口)自动完成的动作。 (1)设置中断和向量。 (2)设置设备的中断屏蔽位。 (3)设置CPU的中断允许位IF(开中断)。 (4)外设接口送中断请求给CPU。 (5)当前指令执行完成后,CPU送响应信号给外设接口。 (6)CPU接收中断类型号。 (7)当前的PSW,CS和IP保存入栈。 (8)清除IF,TF。 (9)中断向量送IP和CS。 编写中断处理子程序的步骤:。 (1)保存寄存器内容。 (2)如允许中断嵌套,则开中断(STI)。 (3)处理中断。 (4)关中断。 (5)送中断结束命令(EOI)给中断命令寄存器。 (6)恢复寄存器内容。 (7)返回被中断的程序(IRET)。 8.4.1 中断的基本概念 1.中断 CPU暂停正在执行的程序,转去完成另一件工作,完成后再回到原来的程序继续执行的现象称为中断。 2.中断源 能够导致CPU中断的事件称为中断源。 8.4 中断方式输入输出 3.中断源分类 内中断:来自CPU内部的中断请求。 (1)中断指令 (2)错误的中断 ①除法错中断 ②溢出中断 若产生溢出(OF=1),INTO中断发生溢出的算术操作。 如:ADD AX,BX INTO 4.中断号 在计算机系统中,各种中断源都被统一地编排了一个互不相同的号码,用以唯一地标识一个中断源,这个号码称为中断号。 5.中断源识别 由于中断源有不同的类型,向CPU申请中断的方式也各不相同。当CPU知道有中断请求后,还必须判断出究竟是几号中断请求。CPU确定中断号的过程称为中断源识别。如果中断请求来自CPU内部,CPU内有相应机制可以取到内中断请求的中断号;如果是不可屏蔽外中断请求,系统只安排了唯一的中断号(2号);当中断请求来自CPU的INTR外引脚时,情况就比较复杂了。 6.中断优先级 8088把所有中断源划分为4个等级,以0级为最高,依次降低等级。 0级 ── 除单步中断以外的内中断; 1级 ── 非屏蔽外中断; 2级 ── 可屏蔽外中断; 3级 ── 单步中断。 7.中断服务程序 CPU响应某个中断时去执行的程序称为“中断服务程序”或“中断处理程序”。 8.中断向量 把中断服务程序的入口地址的各个字节按照一定的规则排列起来,构成的一个有特定含义的数据组合称为“中断向量”或“中断矢量”(中断服务程序的段地址和偏移地址)。 9.中断向量表 把所有这些中断向量集中起来,按照中断号由0到255的顺序,从内存物理地址为0处开始依次存放,构成一张“中断向量表”。(中断向量地址?) 00000 0号中断服务程序偏移地址低字节 00001 0号中断服务程序偏移地址高字节 00002 0号中断服务程序段地址低字节 00003 0号中断服务程序段地址高字节 00004 1号中断服务程序偏移地址低字节 00005 1号中断服务程序偏移地址高字节 00006 1号中断服务程序段地址低字节 00007 1号中断服务程序段地址高字节 00008 2号中断服务程序偏移地址低字 003FF 0FFH号中断服务程序段地址高字节 … 11.中断嵌套 在CPU执行一个低级别的中断服务程序时,如果系统中又产生了一个高级别的中断请求,这时系统会暂停低级中断服务,优先处理高级别中断,处理完后再继续低级中断服务。这种高级别中断打断低级别中断服务的现象称为中断嵌套。 中断嵌套的典型例子是,在一个中断服务程序中,需要在屏幕上显示一些信息,屏幕显示需要用到后面将要说明的10H号中断调用,因此在中断服务程序中就会写有INT 10H指令。这是一条内中断调用指令,
文档评论(0)