子程序和中断的区别

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

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

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

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

  • CALL调用子程序只需要保护断点,即该指令的下一条指令的地址(段内调用只保护IP,段间调用要保护CS和IP);中断调用子程序不但要保护断点(即该指令的下一条指令的CS和IP),还要保护标志寄存器FLAGS。,也是要等中断程序完成后再回主程序执行下面的动作。

——摘自:

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...