词条 | RET指令 |
释义 | 概念RET是子程序的返回指令 执行过程(SP)->PCH,然后(SP)-1->SP (SP)->PCL,然后(SP)-1->SP 功能从堆栈中退出pc的高8位和低8位字节,把堆栈指针减2,从pc值开始继续执行程序。不影响任何标志。 例子 ;主程序 MAIN:SETB P1.0 ;(1)开始主程序,P1.0口置1(P1.0 口输出为高,可以控制LED点亮) LCALL DELAY ;(2)此时当前堆栈指针加2 ,调用(6)DELAY延时子程序 CLR P1.0 ;(3)P1.0口清零(P1.0 口输出为低,可以控制LED熄灭) LCALL DELAY ;(4)此时当前堆栈指针加2 ,调用(6)DELAY延时子程序 LJMP MAIN ;(5)跳转到主程序,这样LED实现循环点亮 ;子程序 DELAY:MOV R7,#250 ;(6)250-->R7 D1:MOV R6,#250 ;(7)250--->R6 D2:DJNZ R6,D2 ;(8)(R6-1),等于零执行下一条,不等于零,则跳转到D2 DJNZ R7,D1 ;(9)(R7-1),等于零执行下一条,不等于零,则跳转到D1 RET ; (10)当前堆栈指针减2,返回到(3)CLR P1.0继续执行MAIN 主程序。 END . (11)程序结束(伪指令) |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。