8085中的子程序

在计算机中,子程序是执行特定任务的一系列程序指令,打包为一个单元。然后,这个单元就可以在任何需要执行特定任务的程序中使用。子程序通常是经过编码的,这样在程序的一次执行过程中,它可以从多个地方启动(调用)几次,包括从其他子程序启动,然后在调用后,一旦子程序的任务完成,就可以返回到下一条指令。它是通过调用和返回指令实现的。不同类型的子程序指令如下所示:

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,则从子例程返回

子程序的优点——

  1. 将复杂的编程任务分解为更简单的步骤。
  2. 减少程序中的重复代码。
  3. 支持跨多个程序重用代码。
  4. 提高可处理性或使程序调试变得容易。
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享