- 2
- 0
- 约9.25千字
- 约 36页
- 2017-06-20 发布于四川
- 举报
子程序结构 子程序结构是一种模块化的程序设计思想,其将某些运算和操作设计成可被其他程序调用的子程序段,需要的时候直接调用这些程序段即可。一般来说,调用子程序的程序称为主程序,调用子程序的过程称为子程序调用。子程序执行完后返回主程序的过程称为子程序返回。使用子程序可以使代码的结构清晰,也便于程序的移植和重复使用。 51系列单片机指令集中提供了两个指令可以用来调用子程序,其使用格式如下: LCALL ADDR16:这条指令称为长调用指令,指令的操作数ADDR16给出了子程序的16位入口地址。 ACALL ADDR11:这条指令称为绝对调用指令,其中的操作数ADDR11提供了子程序的低11位入口地址,这个地址和程序计数器PC的高5位并在一起构成16位的子程序调用地址,即子程序的入口地址。 子程序执行的步骤 子程序在执行时,需要经过如下几步: 首先将程序计数器PC中的内容压入堆栈,即断点保护。程序计数器PC中为调用指令下一条指令地址,称为断点地址。 然后,将调用地址送入程序计数器PC中,使程序跳转到子程序的入口地址处开始执行。 子程序执行完毕后,通过返回指令RET返回。指令RET将堆栈中存放的返回地址(即断点地址)弹出堆栈,送回到程序计数器PC中,使程序返回到主程序的断点处继续向下执行。 子程序结构示例 在子程序中,两个BCD码数据均按照高位字节数存放于低地址单元。运算时,相加
原创力文档

文档评论(0)