主程序调用子程序编程指令是什么

主程序调用子程序编程指令是什么,第1张

主程序调用子程序编程指令是:右击——插入——OB,然后填上OB100,OB由系统调用,并非由用户调用。

一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。函数在面向过程的语言中已经出现。是结构和类的前身。本身就是对具有相关性语句的归类和对某过程的抽象。

转子指令和返回指令:

子程序的调用与返回过程中,子程序的入口地址是指子程序第一条指令的地址。用于调用子程序、控制程序的执行从主程序转向子程序的指令称为专注指令(子程序调用指令、过程调用指令)。为了正确调用子程序,必须在转子指令中给出子程序的入口地址。

主程序中转子指令的下一条指令的地址称为断点,断点是子程序返回主程序的返回地址,从子程序返回主程序的指令称为返回指令。为了在执行返回指令时能够正确地返回主程序,转子指令应具有保护断点的功能。

执行转子指令时保护断点的方式有多种,常用的有:将断点保存到子程序第一条指令的前一个字单元;将断点保存到某一约定的寄存器中;将断点压入堆栈。

当然可以强行跳回主程序,不影响中断标志位的清零,只要进入中断,该硬件清零的就自动清零,但强行跳回主程序,单片机会认为一直在执行中断程序,因此以后有中断发生时也不会再进入中断程序。所以不能这样做,用RETI就会跳回主程序。

前两天刚学了一招:

#define Reset() ((void (code ) (void)) 0x0000) ()

然后在需要返回程序开始的地方直接调用Reset();就可以了。

带参就可以了。子程序按参数执行参数下的代码。可以即时返回也可以继续执行下面的代码。

版本 2

子程序 GoTo

参数 参数一, 整数型, 可空

判断开始 (参数一 = 1)

' 这里是参数一

信息框 (到文本 (参数一), 0, )

返回 ()

默认

判断结束

判断开始 (参数一 = 2)

' 这里是参数一

信息框 (到文本 (参数一), 0, )

返回 ()

默认

判断结束

子程序 子程序2

GoTo (1)

子程序 子程序3

GoTo (2)

以上就是关于主程序调用子程序编程指令是什么全部的内容,包括:主程序调用子程序编程指令是什么、单片机中中断服务子程序没执行完能强行跳回主程序吗,若不能为什么若能,相应的中断标志位会被清零吗、C语言中怎么从子程序返回到程序的开始等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9745875.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存