可执行代码由主程序和若干子例程或中断例程组成。 代码已编译并下载到 CPU 中。可以使用程序组织单元(主程序、子例程和中断例程)来结构化用户程序。
● 用户程序主体包括控制应用的指令。 CPU将按顺序执行这些指令,每个扫描周期执行一次。
● 子例程是只有在调用时才执的程序的可选元素:
由主程序、中断例程或另一子例程执行。当您希望重复执行某种功能时,子例程是非常有用的与其在主程序中每个需要使用该功能的位置多次写入相同的程序代码,不如将这段逻辑写在子例程中,然后根据需要在主程序中调用该子例程。 子例程具有以下优点:
– 使用子例程可以减小程序的大小。
– 由于已将代码移出主程序,因而使用子例程可以缩短扫描时间。 CPU在每个扫描周期都会评估主程序中的代码,不管代码是否执行,而 CPU仅在调用子例程时评估其代码,如果扫描时不调用子例程,CPU 不会评估其代码。
– 使用子例程创建的代码是可移植的。您可以在一个子例程中完成一个独立的功能,然后将该子例程复制到另其它程序中,无需进行重复工作。
说明
使用 V 存储器地址会限制子例程的可移植性,因为一个程序对于 V存储器地址的分配有可能与另一个程序对它的分配有冲突。
相比之下,在子例程中为全部地址分配使用局部变量表(L存储器)会使子例程具有极高的可移植性,因为当子例程使用局部变量时,子例程与程序的其它部分之间就不会有地址冲突。