首页 理论教育 跳转指令和子程序指令详解

跳转指令和子程序指令详解

时间:2023-06-30 理论教育 版权反馈
【摘要】:图5.2-1 跳转指令的示用说明子程序返回指令SRET编号为FNC02,无操作数,占用1个程序步。表5.2-2 CALL、SRET指令助记符、功能、操作数、程序步子程序应写在主程序之后,即子程序的标号应写在指令FEND之后,且子程序必须以SRET指令结束。含第一条CALL指令在内,子程序的嵌套层数不能大于5。在如图5.2-3所示的程序中CALL指令共有两层嵌套。

跳转指令和子程序指令详解

1.条件跳转指令(CJ)

跳转指令的功能是根据不同的逻辑条件,有选择性地执行不同的程序。其用法是当跳转条件成立时跳过一段程序,跳转至指令中所标明的标号处继续执行。这样可以使程序结构更加灵活,减少扫描时间,从而加快了系统的响应速度。指令助记符、功能、操作数、程序步如表5.2-1所示。

表5.2-1 CJ指令助记符、功能、操作数、程序步

978-7-111-45203-4-Chapter05-9.jpg

跳转指令的使用说明如图5.2-1所示。X0为自动/手动选择开关。若X0为“ON”,则◎X0闭合,程序不执行手动程序,跳转到标号P0处;#X0断开,程序执行自动程序。若X0为“OFF”,则◎X0断开,程序执行手动程序;#X0闭合,程序不执行自动程序,程序跳转到标号P1处。

2.子程序调用指令CALL与返回指令SRET

子程序指令是为一些特定的控制目的编制的相对独立的程序。

子程序调用指令CALL、CALL(P)的编号为FNC01,操作元件为指针P0~P127,此指令占用了3个程序步,操作码后加“P”表示当控制线路由“断开”到“闭合”时才指令该指令。

978-7-111-45203-4-Chapter05-10.jpg

图5.2-1 跳转指令的示用说明

子程序返回指令SRET编号为FNC02,无操作数,占用1个程序步。不需要控制线路,直接与左母线相连。(www.xing528.com)

CALL、SRET指令助记符、功能、操作数、程序步如表5.2-2所示。

表5.2-2 CALL、SRET指令助记符、功能、操作数、程序步

978-7-111-45203-4-Chapter05-11.jpg

子程序应写在主程序之后,即子程序的标号应写在指令FEND之后,且子程序必须以SRET指令结束。如图5.2-2所示,当X0为ON时,CALL P10指令使程序执行P10子程序,在子程序中执行到SRET指令后程序返回到CALL指令的下一条指令处执行。若X0为OFF,则程序顺序执行。

在子程序中可以再次使用CALL子程序,形成子程序嵌套。含第一条CALL指令在内,子程序的嵌套层数不能大于5。在如图5.2-3所示的程序中CALL指令共有两层嵌套。

978-7-111-45203-4-Chapter05-12.jpg

图5.2-2 CALL指令使用说明

978-7-111-45203-4-Chapter05-13.jpg

图5.2-3 CALL子程序嵌套

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈