微机原理里面中断方式和子程序调用的区别是什么?

微机原理里面中断方式和子程序调用的区别是什么?,第1张

它们的主要差异有:\x0d\x0a1、 程序调用一定是程序员在编写程序时事先安排好的,是可知的,而中断是由中断源根据自身的需要产生的,是不可预见的(用指令INT引起的中断除外) \x0d\x0a2、 子程序调用是用CALL指令来实现的,但没有调用中断的指令,只有发出中断请求的事件(指令INT是发出内部中断信号,而不要理解为调用中断服务程序); \x0d\x0a3、 子程序的返回指令是RET,而中断服务程序的返回指令是IRET/IRETD。 \x0d\x0a4、 在通常情况下,子程序是由应用程序开发者编写的,而中断服务程序是由系统软件设计者编写的。 \x0d\x0a5、中断方式具有实时性,其可以在函数中的任意位置产生。而子程序调用是编程着写的在程序的特定位置其特定功能的函数。

一、主体不同

1、调用中断服务程序:可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的。

2、调用子程序:是指调用子程序的指令,包括调用指令(转子指令)和返回指令(返主指令)。

二、特点不同

1、调用中断服务程序:当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作。

2、调用子程序:子程序调用指令用于实现程序与程序之间的转移,与转移指令不同(转移指令用于实现同一程序内的转移)。子程序调用指令还可以进行嵌套调用,即可调用别的子程序,还可以实现递归调用。

三、方式不同

1、调用中断服务程序:保护被中断进程现场。为了在中断处理结束后能够使进程准确地返回到中断点,系统必须保存当前处理机程序状态字PSW和程序计数器PC等的值。

2、调用子程序:把常用的程序段编写成独立的子程序或过程,在需要时随时调用,调用子程序需要用到调用指令。

参考资料来源:百度百科-子程序调用指令

参考资料来源:百度百科-中断服务程序


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11050438.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存