中断服务程序与普通子程序有哪些相同和不同之处???

中断服务程序与普通子程序有哪些相同和不同之处???,第1张

相同点:都是从主函数转到子函数,子函数执行完后又返回主函数。

不同点:

一、执行方式不同

1、中断服务程序:中断函数是发生中断后,自动执行的,不需要主函数调用,是否执行,取决于相应的中断事件是否发生。

2、普通子程序:普通子函数要主函数调用才能执行。

二、使用情况不同

1、中断服务程序:中断函数在中断发生时,先进入中断入口地址,再通过中断入口地址处放置的一条无条件转移指令,使程序执行转向中断服务程序入口。

2、普通子程序:普通子函数调用时,直接进入函数入口地址。

三、定义方式不同

1、中断服务程序:中断服务程序用interrupt关键字来定义。

2、普通子程序:是一个大型程序中的某部分代码,由一个或多个语句块组成。

某同学编写程序时,认为中断服务子程序和子程序可以互换,这种说法正确。中断概念中断其实就是当CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序。

差别:

中断请求信号可以由外部设备发出,是随机的;子程序调用却是由软件编排好的。

中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。

中断响应是受控的,其响应时间会受一些因素影响;子程序响应时间是固定的。


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

原文地址: http://outofmemory.cn/yw/11231717.html

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

发表评论

登录后才能评论

评论列表(0条)

保存