中断处理程序包含哪几部分

发布网友 发布时间:2022-04-24 03:41

我来回答

3个回答

热心网友 时间:2023-10-25 13:52

中断处理程序,本质上就相当于一个函数。 当硬中断发生时系统会自动调用,包括时钟等等需要系统硬件固定执行的程序,以及一些异常处理程序(比方说被0除等等);软中断发生时,是程序中用int指令调用,就跟函数一样。 中断处理程序能做什么? 想一想,中断程序也是程序员写的,所有能用汇编语言写出来的函数,中断都能完成。 所以这个问题关键不在于“中断处理程序”能做什么,而应该是,系统具体有哪里中断,这些中断分别完成什么工作?而这个问题,只能用中断表来解答。 比方说,DOS系统的21h号中断的4c号功能就是关闭程序返回DOS,而21h号中断的其他功能号完成的是其他的任务。如果你真想知道确切的答案,应该提问“谁有21h号中断功能表来一份?”

热心网友 时间:2023-10-25 13:53

发生中断时CPU在中断允许的情况下,强制跳转至中断处理程序对该中断进行响应。
中断处理程序需要注意:
若是改写系统中断,尽量保存系统中断的原地址;
如果是自定义中断,需要注意是否允许多重中断,即能否被另一个中断(包括同一个中断号的相同中断)打断,若不希望被打断,应当在中断处理程序开始时关闭中断允许位IF(用CLI指令),并且在程序结束时开启中断位(用STI指令)。
另外,中断处理程序本身也是一个过程,也有可能出错,所以尽量不要在中断处理程序中产生错误,以免程序不可控。

热心网友 时间:2023-10-25 13:53

这个要看你中断去做什么,可以什么都不做,那就没有几部分了

热心网友 时间:2023-10-25 13:52

中断处理程序,本质上就相当于一个函数。 当硬中断发生时系统会自动调用,包括时钟等等需要系统硬件固定执行的程序,以及一些异常处理程序(比方说被0除等等);软中断发生时,是程序中用int指令调用,就跟函数一样。 中断处理程序能做什么? 想一想,中断程序也是程序员写的,所有能用汇编语言写出来的函数,中断都能完成。 所以这个问题关键不在于“中断处理程序”能做什么,而应该是,系统具体有哪里中断,这些中断分别完成什么工作?而这个问题,只能用中断表来解答。 比方说,DOS系统的21h号中断的4c号功能就是关闭程序返回DOS,而21h号中断的其他功能号完成的是其他的任务。如果你真想知道确切的答案,应该提问“谁有21h号中断功能表来一份?”

热心网友 时间:2023-10-25 13:52

中断处理程序,本质上就相当于一个函数。 当硬中断发生时系统会自动调用,包括时钟等等需要系统硬件固定执行的程序,以及一些异常处理程序(比方说被0除等等);软中断发生时,是程序中用int指令调用,就跟函数一样。 中断处理程序能做什么? 想一想,中断程序也是程序员写的,所有能用汇编语言写出来的函数,中断都能完成。 所以这个问题关键不在于“中断处理程序”能做什么,而应该是,系统具体有哪里中断,这些中断分别完成什么工作?而这个问题,只能用中断表来解答。 比方说,DOS系统的21h号中断的4c号功能就是关闭程序返回DOS,而21h号中断的其他功能号完成的是其他的任务。如果你真想知道确切的答案,应该提问“谁有21h号中断功能表来一份?”

热心网友 时间:2023-10-25 13:53

发生中断时CPU在中断允许的情况下,强制跳转至中断处理程序对该中断进行响应。
中断处理程序需要注意:
若是改写系统中断,尽量保存系统中断的原地址;
如果是自定义中断,需要注意是否允许多重中断,即能否被另一个中断(包括同一个中断号的相同中断)打断,若不希望被打断,应当在中断处理程序开始时关闭中断允许位IF(用CLI指令),并且在程序结束时开启中断位(用STI指令)。
另外,中断处理程序本身也是一个过程,也有可能出错,所以尽量不要在中断处理程序中产生错误,以免程序不可控。

热心网友 时间:2023-10-25 13:53

这个要看你中断去做什么,可以什么都不做,那就没有几部分了

热心网友 时间:2023-10-25 13:53

发生中断时CPU在中断允许的情况下,强制跳转至中断处理程序对该中断进行响应。
中断处理程序需要注意:
若是改写系统中断,尽量保存系统中断的原地址;
如果是自定义中断,需要注意是否允许多重中断,即能否被另一个中断(包括同一个中断号的相同中断)打断,若不希望被打断,应当在中断处理程序开始时关闭中断允许位IF(用CLI指令),并且在程序结束时开启中断位(用STI指令)。
另外,中断处理程序本身也是一个过程,也有可能出错,所以尽量不要在中断处理程序中产生错误,以免程序不可控。

热心网友 时间:2023-10-25 13:53

这个要看你中断去做什么,可以什么都不做,那就没有几部分了

热心网友 时间:2023-10-25 13:52

中断处理程序,本质上就相当于一个函数。 当硬中断发生时系统会自动调用,包括时钟等等需要系统硬件固定执行的程序,以及一些异常处理程序(比方说被0除等等);软中断发生时,是程序中用int指令调用,就跟函数一样。 中断处理程序能做什么? 想一想,中断程序也是程序员写的,所有能用汇编语言写出来的函数,中断都能完成。 所以这个问题关键不在于“中断处理程序”能做什么,而应该是,系统具体有哪里中断,这些中断分别完成什么工作?而这个问题,只能用中断表来解答。 比方说,DOS系统的21h号中断的4c号功能就是关闭程序返回DOS,而21h号中断的其他功能号完成的是其他的任务。如果你真想知道确切的答案,应该提问“谁有21h号中断功能表来一份?”

热心网友 时间:2023-10-25 13:53

发生中断时CPU在中断允许的情况下,强制跳转至中断处理程序对该中断进行响应。
中断处理程序需要注意:
若是改写系统中断,尽量保存系统中断的原地址;
如果是自定义中断,需要注意是否允许多重中断,即能否被另一个中断(包括同一个中断号的相同中断)打断,若不希望被打断,应当在中断处理程序开始时关闭中断允许位IF(用CLI指令),并且在程序结束时开启中断位(用STI指令)。
另外,中断处理程序本身也是一个过程,也有可能出错,所以尽量不要在中断处理程序中产生错误,以免程序不可控。

热心网友 时间:2023-10-25 13:53

这个要看你中断去做什么,可以什么都不做,那就没有几部分了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com