text: 微机原理里面中断方式和子程序调用的区别，亲，请详细说明哈
  它们的主要差异有：$P$1、 子程序调用一定是程序员在编写程序时事先安排好的，是可知的，而中断是由中断源根据自身的需要产生的，是不可预见的(用指令INT引起的中断除外) $P$2、 子程序调用是用CALL指令来实现的，但没有调用中断的指令，只有发出中断请求的事件(指令INT是发出内部中断信号，而不要理解为调用中断服务程序)； $P$3、 子程序的返回指令是RET，而中断服务程序的返回指令是IRET/IRETD。 $P$4、 在通常情况下，子程序是由应用程序开发者编写的，而中断服务程序是由系统软件设计者编写的。 $P$5、中断方式具有实时性，其可以在函数中的任意位置产生。而子程序调用是编程着写的在程序的特定位置其特定功能的函数。
  中断方式的定义是：当出现来自系统外部，机器内部，甚至处理机本身的任何例外的，或者虽然是事先安排的，但出现在现行程序的什么地方是事先不知道的事件时，cpu暂停执行现行程序，转去处理这些事件，等处理完成之后，cpu自动返回到原来的程序继续执行。$P$  中断系统是计算机系统中用来实现中断功能的软、硬件总称。在一般计算机系统中，在cpu内部要设置中断机构，在中断源中要设置中断控制器，在操作系统中要设置相应的中断处理程序。$P$  从程序执行的顺序看，中断过程类似于子程序调用，中断系统中的现行程序相当于主程序，中断服务程序相当于子程序，但是，这两者之间却有着本质上的区别，主要区别如下： $P$  1．在子程序调用中，什么时间执行子程序是由程序员事先安排的，当需要转入子程序时，通过在主程序中插入一条调用子程序的指令转入。在中断系统中，什么时间从现行程序进入中断服务程序是随机的，它出现在现行程序的什么地方是事先不知道的。如果说调用子程序是由主程序主动发起的，那么，进入中断服务程序必须由中断源主动申请，即由中断服务程序主动发起。$P$  2．在中断系统中，往往有多个中断源同时申请中断服务，即有多个中断服务程序同时要求执行的情况发生；但在子程序调用时，每次只能调用唯一的一个子程序。 $P$  3．子程序通常与调用它的主程序或上一层子程序之间有非常紧密的联系，而中断服务程序一般与被中断的现行程序之间没有关系。$P$  从上面的分析中可以看出，中断系统要比子程序调用复杂得多。