广发英雄帖!!单片机高手来

来源:百度知道 编辑:UC知道 时间:2024/09/23 07:06:59
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV......
.........
START:.........
LOOP: JNB TI,LOOP
.........
ACALL `DELAY
.........
.........
SJMP START
DELAY:.........
LOOP2:MOV R6,#0FFH
LOOP1:DJNZ R6,LOOP1
DJNZ R7,LOOP2
RET
END
我想知道这样的程序,他的执行顺序是怎样的??尤其是RET指令返回到哪里??
显示的不清楚,MAIN后冒号,START后冒号,LOOP后冒号,DELAY后冒号,LOOP2后冒号,LOOP1后冒号

RET返回到从哪里调用这个程序就返回到哪里,就当是把这个子函数复制到调用它的那个指令后面
该程序先执行MAIN 然后START 然后LOOP 看TI的值,为0则继续执行LOOP 直到TI为1了,就接着向下执行DELAY 然后SJMP START 跳转到START处继续执行,然后就是个循环重复过程了

执行DELAY过程: 到了LOOP2时赋值R6,LOOP1:R6自减并跳转到LOOP1:直到为0了向下执行 R7自减,不为0则跳到LOOP2:重复上一步,然后直到R7减为0了就返回到调用它的位置

额?
不懂了哦!