在计算机中,子程序是执行特定任务的一系列程序指令,打包为一个单元。然后,这个单元就可以在任何需要执行特定任务的程序中使用。子程序通常是经过编码的,这样在程序的一次执行过程中,它可以从多个地方启动(调用)几次,包括从其他子程序启动,然后在调用后,一旦子程序的任务完成,就可以返回到下一条指令。它是通过调用和返回指令实现的。不同类型的子程序指令如下所示:
null
无条件呼叫指令- 呼叫地址是无条件呼叫指令的格式。执行此指令后,程序控制被转移到子程序,其起始地址在指令中指定。PC(程序计数器)的值被传输到内存堆栈,SP(堆栈指针)的值递减2。
条件调用指令- 在这些指令中,程序控制被转移到子程序,只有当条件满足时,PC的值才被推入堆栈。
指示 | 参数 | 议论 |
---|---|---|
科科斯群岛 | 16位地址 | 如果cy(进位标志)=1,则呼叫地址 |
数控 | 16位地址 | 如果cy(进位标志)=0,则呼叫地址 |
CZ | 16位地址 | 如果ZF(零标志)=1,则呼叫地址 |
CNZ | 16位地址 | 如果ZF(零标志)=0,则呼叫地址 |
CPE | 16位地址 | 如果PF(奇偶校验标志)=1,则在地址处调用 |
CPO | 16位地址 | 如果PF(奇偶校验标志)=0,则在地址处调用 |
CN | 16位地址 | 如果SF(签名标志)=1,则呼叫地址 |
人物配对关系 | 16位地址 | 如果SF(签名标志)=0,则呼叫地址 |
无条件返回指令- RET是用于标记子程序结束的指令。它没有参数。执行此指令后,程序控制权从停止的地方转移回主程序。PC(程序计数器)的值从内存堆栈中检索,SP(堆栈指针)的值递增2。
条件返回指令- 通过这些指令,程序控制被转移回主程序,只有在条件满足时,PC的值才会从堆栈中弹出。返回指令没有参数。
指示 | 议论 |
---|---|
钢筋混凝土 | 如果cy(进位标志)=1,则从子程序返回 |
RNC | 如果cy(进位标志)=0,则从子程序返回 |
RZ | 如果ZF(零标志)=1,则从子程序返回 |
RNZ | 如果ZF(零标志)=0,则从子程序返回 |
RPE | 如果PF(奇偶校验标志)=1,则从子程序返回 |
RPO | 如果PF(奇偶校验标志)=0,则从子程序返回 |
注册护士 | 如果SF(有符号标志)=1,则从子程序返回 |
RP | 如果SF(有符号标志)=0,则从子例程返回 |
子程序的优点——
- 将复杂的编程任务分解为更简单的步骤。
- 减少程序中的重复代码。
- 支持跨多个程序重用代码。
- 提高可处理性或使程序调试变得容易。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END