8086汇编(39)中断过程

8086汇编(39)中断过程,第1张

我们可以用中断类型码,在中断向量表中找到中断处理程序的入口。找到这个入口地址的最终目的是用它设置CS和IP,使CPU执行中断处理程序。用中断类型码找到中断向量,并用它来设置CS和IP,这个工作是由CPU的硬件自动完成的。CPU硬件完成这个工作的过程被称为中断过程。

下面是8086CPU在收到中断信息后,所引发的中断过程。

2)标志寄存器的值入栈(因为在中断过程中要改变标志寄存器的值,所以先将其保存在栈中)

3)设置标志寄存器的第8位TF和第9位IF的值为0

4)CS的内容入栈

5)IP的内容入栈;

6)从内存地址为中断类型码 4和中断类型码 4+2的两个字单元中读取中断处理程序的入口地址设置IP和CS。

可以简洁的描述如下:

1)取得中断类型码N

2)pushf

3)TF=0,IF=0

4)push CS

5)push IP

代码如下:

DATA SEGMENT

STRING DB 'Hello World!', 0DH, 0AH, '$'    0D 0A(ascii)是回车换行,$用来结束字符串输出

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START:

MOV AX, DATA

MOV DS, AX

MOV CX, 5

LEA DX, STRING

SHOW: MOV AH, 9

INT 21H

LOOP SHOW

MOV AH, 4CH

INT 21H

CODE ENDS

END START

在dos中运行结果如下:

运行结果


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11047659.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存