正在加载图片...
3.4任务五建控制灯 3.4.4相关知识 子程序调用指令(4条) 子程序是为了便于程序编写,需要反复执行的一些程序,我们在编 程时一般都把它们编写成子程序,当需要用它们时,就用一个调用命 令使程序按调用的地址去执行,这就需要子程序的调用指令和返回指 令 LCALL addr16;长调用指令,可在64kB空间调用子程序。此时 (PC)+3→(PC),(SP)+1→(SP),(PC7-0)→(SP) (SP)+1→(SP),(PC15-8)→(SP),addr16→(PC),即分别 从堆栈中弹出调用子程序时压入的返回地址 ACALL addr11;绝对调用指令,可在2kB空间调用子程序,此时 (PC)+2→(PC),(SP)+1→(SP),(PC7-0)→(SP), (SP)+1→(SP),(PC15-8)→(SP), addr11→(PC10-0) RET;子程序返回指令。此时(SP)→(PC15-8),(SP) (SP),(SP)→(PC7-0),(SP)-1→(SP) RETI;中断返回指令,除具有RET功能外,还具有恢复中断逻辑 的功能,需注意的是,RET指令不能用RET代替3.4 任务五 按键控制灯 3.4.4 相关知识 ➢子程序调用指令(4条) 子程序是为了便于程序编写,需要反复执行的一些程序,我们在编 程时一般都把它们编写成子程序,当需要用它们时,就用一个调用命 令使程序按调用的地址去执行,这就需要子程序的调用指令和返回指 令。 LCALL addr16 ; 长调用指令,可在64kB空间调用子程序。此时 (PC)+ 3→(PC),(SP)+ 1→(SP),(PC7-0)→(SP), (SP)+ 1→(SP),(PC15-8)→(SP),addr16→(PC),即分别 从堆栈中弹出调用子程序时压入的返回地址 ACALL addr11 ; 绝对调用指令,可在2kB空间调用子程序,此时 (PC)+ 2→(PC),(SP)+ 1→(SP),(PC7-0)→(SP), (SP)+ 1→(SP),(PC15-8)→(SP),addr11→(PC10-0) RET ; 子程序返回指令。此时(SP)→(PC15-8),(SP)-1→ (SP),(SP)→(PC7-0),(SP)- 1→(SP) RETI ; 中断返回指令,除具有RET功能外,还具有恢复中断逻辑 的功能,需注意的是,RETI指令不能用RET代替
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有