单片机问题
如果(DPTR)=5678H,(SP)=42H,(3FH)=12H,(40H)=34H,(41H)=50H,(42H)=80H,则执行下列指令后POPDPHPOPDPLR...
如果(DPTR)=5678H , (SP)=42H , (3FH)=12H , (40H)=34H, (41H)=50H , (42H)=80H,则执行下列指令后
POP DPH
POP DPL
RET
(PCH)= (PLC)= (DPH)= (DPL)=
怎么分析呢,谢谢 展开
POP DPH
POP DPL
RET
(PCH)= (PLC)= (DPH)= (DPL)=
怎么分析呢,谢谢 展开
展开全部
如果(DPTR)=5678H , (SP)=42H , (3FH)=12H , (40H)=34H, (41H)=50H , (42H)=80H,则执行下列指令后
POP DPH
POP DPL
RET
(PCH)=12H (PCL)=34H (DPH)=50H (DPL)=80H
POP DPH
POP DPL
RET
(PCH)=12H (PCL)=34H (DPH)=50H (DPL)=80H
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(PCH)=56H (PCL)=78H (DPH)=56H (DPL)=78H
追问
怎么分析呢,谢谢
追答
不好意思看错了
POP DPH ; 栈弾出
POP DPL ; 栈弾出
RET ; 子程序返回
没有 有用 条件 应该是
(PCH)= 未知 (PCL)= 未知 (DPH)= 未知 (DPL)= 未知
如果是下面的执行后, 上面答案才对
PUSH DPH
PUSH DPL
RET
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
执行POP时 (SP)→DPH (将42H单元的值赋给DPH, (DPH)=80H), 然后(SP) -1→SP,这里变成(SP)=41H
(SP)→DPL (将41H单元的值赋给DPL, (DPL)=50H),然后(SP) -1→SP,这里变成(SP)=40H
RET是子程序的返回指令
执行本指令时:
(SP)→PCH,(这里将40H单元的值赋给PCH,即(PCH=34H)),然后(SP) -1→SP
(SP)→PCL,(这里将3FH单元的值赋给PCL,即(PCL=12H) ),然后(SP)-1→SP
(SP)→DPL (将41H单元的值赋给DPL, (DPL)=50H),然后(SP) -1→SP,这里变成(SP)=40H
RET是子程序的返回指令
执行本指令时:
(SP)→PCH,(这里将40H单元的值赋给PCH,即(PCH=34H)),然后(SP) -1→SP
(SP)→PCL,(这里将3FH单元的值赋给PCL,即(PCL=12H) ),然后(SP)-1→SP
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询