当前位置:首页 科普知识 intr

intr

发布时间:2023-09-14 00:57:59

intr是函数名,用于改变软中断接口。接受可屏蔽中断请求。输入,电平触发,高电平有效。

intr介绍

intr是函数名,用于改变软中断接口。接受可屏蔽中断请求。输入,电平触发,高电平有效。

intr

intr基本信息

函数名: intr

功 能: 改变软中断接口

用 法: void intr(int intr_num, struct REGPACK *preg);

程序例:

#include

#include

#include

#include

#define CF 1

int main(void)

{

char directory;

intr

struct REGPACK reg;

printf("Enter directory to change to: ");

gets(directory);

reg.r_ax = 0x3B << 8;

reg.r_dx = FP_OFF(directory);

reg.r_ds = FP_SEG(directory);

intr(0x21, ®);

if (reg.r_flags & CF)

printf("Directory change failedn");

getcwd(directory, 80);

printf("The current directory is: %sn", directory);

return 0;

intr

}

intrINTR

INTR接受可屏蔽中断请求。输入,电平触发,高电平有效。在8086中,标志寄存器EFLAGS中的IF标志决定是否屏蔽可屏蔽中断请求。

外部硬件在通过INTR发出中断请求信号的同时,还要向处理器给出一个8位的中断向量。处理器在 响应可屏蔽中断请求时,读取这个由外部硬件给出的中断向量号。处理器对这个中断向量号并没有 规定。但在具体的微机系统中,系统必须通过软件和硬件的配合设置,使得给出的这个中断向量号 不仅与外部中断源对应,而且要避免中断向量号使用冲突情况的出现。可编程中断控制器芯片8259A可 配合80386工作,能够根据设置向处理器提供上述中断向量号,还能处理中断请求的优先级。每 个8259A芯片可以支持8路中断请求信号,如果使用9个8259A芯片(一个主片,8个从片),就可使80386在 单个引脚INTR上接受多达64个中断源的中断请求信号。

处理器不屏蔽来自NMI的中断请求。处理器在响应NMI中断时,不从外部硬件接收中断向量号。与8086/8088一样,在80386中,不可屏蔽中断所对应的中断向量号固定为2。为了不可屏蔽中断的 嵌套,每当接受一个NMI中断,处理器就在内部屏蔽了再次响应NMI,这一屏蔽过程直到执行中断返回指令IRET后才结束。所以,NMI处理程序应以IRET指令结束。

温馨提示:
本文【intr】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6