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

 我来答
小溪趣谈电子数码
高粉答主

2020-11-23 · 专注解答各类电子数码疑问
小溪趣谈电子数码
采纳数:2103 获赞数:584817

向TA提问 私信TA
展开全部

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

不同点:

一、执行方式不同

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

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

二、使用情况不同

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

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

三、定义方式不同

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

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

星星来过的七月
高粉答主

2020-11-23 · 每个回答都超有意思的
知道小有建树答主
回答量:218
采纳率:100%
帮助的人:3.3万
展开全部

区别:

1、程序是否提前安排好:中断服务程序是随机的,而普通子程序是预先安排好的。

2、结束程序不同:中断服务子程序以RETI结束,而一般子程序以RET结束。

3、结束动作不同:中断服务子程序RETI除将断点弹回PC动作外,还要清除对应的中断优先标志位,以便新的中断请求能被响应。一般子程序则无此项操作。

扩展资料:

当CPU正在处理内部数据时,会发生外部紧急情况,需要CPU暂停当前工作以处理紧急情况。返回到原来的中断地址以恢复原来的工作的过程称为中断。

组件实现这个函数被调用中断系统,应用CPU中断调用的请求源中断源,单片机的中断系统通常允许多个中断源,当多个中断源请求中断CPU的同时,有一个中断优先级的问题。通常,根据中断源的优先级,给予处理最紧急事件的中断请求源优先级,即最先响应最高级别的中断请求。

中断处理:

(1)保护中断的进程现场。为了使进程在中断处理后准确地返回到断点,系统必须保存当前处理器的程序状态字PSW、程序计数器PC等的值。

(2)分析中断的原因,go执行相应的中断处理程序。当多个中断请求同时发生时,来自最高优先级中断源的中断请求被处理。

(3)恢复中断的进程站点,CPU继续执行原来中断的进程。

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
祭雪星桥
2020-04-08 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:821万
展开全部
相同点:都是让cpu从主程序转去执行子程序,执行完毕又返回主程序。
不同点:中断服务程序是随机的,而普通子程序是预先安排好的;中断服务子程序以reti结束,而一般子程序以ret结束。reti除将断点弹回pc动作外,还要清除对应的中断优先标志位,以便新的中断请求能被响应。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式