关于单片机的问题
如果(DPTR)=447BH,(SP)=42H,(40H)=80H,(41H)=70H,(42H)=60H,则执行下列指令后POPDPHPOPDPLPOPA则(DPH)=...
如果(DPTR)=447BH,(SP)=42H,(40H)=80H,(41H)=70H,(42H)=60H,则执行下列指令后
POP DPH
POP DPL
POP A
则(DPH)= ? (DPL)= ? (A)=? (SP)=? 展开
POP DPH
POP DPL
POP A
则(DPH)= ? (DPL)= ? (A)=? (SP)=? 展开
3个回答
展开全部
(1)首先该问题是针对51单片机的问题;
(2)单片机弹出堆栈是先取内容,在调整指针,即:(sp)=》DPH、DPL、A,
sp-1=>sp执行三次。
(3)执行步骤为:
(42H)->DPH, 42h-1->sp;
(41H)->DPL, 41h-1->sp;
(40H)->A, 40h-1->sp;
(4)因此,(DPH)=60H;(DPL)=70H;(A)=80H;(SP)=3FH
对于上个回答的(SP)=39H 显然不对,因为是十六进制,而不是十进制。
(2)单片机弹出堆栈是先取内容,在调整指针,即:(sp)=》DPH、DPL、A,
sp-1=>sp执行三次。
(3)执行步骤为:
(42H)->DPH, 42h-1->sp;
(41H)->DPL, 41h-1->sp;
(40H)->A, 40h-1->sp;
(4)因此,(DPH)=60H;(DPL)=70H;(A)=80H;(SP)=3FH
对于上个回答的(SP)=39H 显然不对,因为是十六进制,而不是十进制。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询