调用中断服务程序和调用子程序有何分别

来源:百度知道 编辑:UC知道 时间:2024/06/01 07:15:53
计算机组成原理课程的课后题,这一章讲了I/O接口、程序查询方式、程序中断方式和DMA方式,问:调用中断服务程序和调用子程序有何分别?

  1. 子程序调用一定是程序员在编写程序时事先安排好的,是可知的,而中断是由中断源根据自身的需要产生的,是不可预见的(用指令INT引起的中断除外)。

  2. 子程序调用是用CALL指令来实现的,但没有调用中断的指令,只有发出中断请求的事件(指令INT是发出内部中断信号,而不要理解为调用中断服务程序); 

  3. 子程序的返回指令是RET,而中断服务程序的返回指令是IRET/IRETD。 

  4. 在通常情况下,子程序是由应用程序开发者编写的,而中断服务程序是由系统软件设计者编写的。 

子程序只有调用的时候才执行,而中断是不用调的,只要外部的条件满足就会执行。