第3章2单片机汇编语言程序设计(mhr).pptVIP

  • 12
  • 0
  • 约1.14万字
  • 约 45页
  • 2017-11-28 发布于重庆
  • 举报
第3章2单片机汇编语言程序设计(mhr)

4. 7 子程序 子程序是构成单片机应用程序必不可少的部分,由于MCS-51单片机由ACALL和LCALL两条子程序调用指令,可以十分方便地用来调用任何地址处的子程序。善于灵活地使用子程序,也是程序设计的重要技巧之一。 在调用子程序时,有以下几点应予以注意: 1) 保护现场。如果在调用前主程序已经使用了某些存储单元或寄存器,在调用时,这些寄存器和存储单元又有其他用途,就应先把这些单元和寄存器中的内容压入堆栈保护,调用完后再从堆栈中弹出以便加以恢复。如果有较多的寄存器要保护,应使主子程序使用不同的寄存器组。 3 2) 设置入口参数和出口参数。调用之前主程序要按子程序的要求设置好入口参数,子程序从指定的地址单元或寄存器获得输入数据,经运算或处理的结果存放到指定的地址单元或寄存器,只有这样主程序才能在调用后,在出口参数处得到调用后的结果。这就是子程序和主程序间的数据传递。 3) 子程序中可包括对另外子程序的调用,称之为子程序嵌套。 3 例4-19 用程序实现c=a2+b2,设a, b均小于10。a存放在31H单元,b存放在32H单元,把c存入33H单元(和为BCD码)。 解 因本题二次用到平方值,所以在程序中采用把求平方编为子程序的方法。依题意编写主程序和子程序如下 主程序: ORG 0000H MOV SP,

文档评论(0)

1亿VIP精品文档

相关文档