看看单片机题中的sp的题!

来源:百度知道 编辑:UC知道 时间:2024/06/21 00:26:26
1已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后:
POP DPH
POP DPL
MOV DPTR,#3000H
RL A
MOV B,A
MOVC A,@A+DPTR
PUSH A
MOV A,B
INC A
MOVC A,@A+DPTR
PUSH A
RET

ORG 3000H
DB 10H,80H,30H,80H,50H,80H
我觉得经过两个pop和两个push后,sp的值恢复原址,即为42H,但是答案是40H,搞不懂?

你的程序好像不对啊,不知道你表达的什么意思。还真没有见过这么用堆栈的。
应该是40H,可是没见过先出后入的啊。

RET 指令会从堆栈里pop出返回地址。。SP-=2;

POP DPH,POP DPL应该是在取参数。。

程序不对,把你的完整代码发一下。。