
单片机汇编高手进 ,这道题怎么算 求详细过程?
4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALLSUBTRN双字节指令后,(PC)=___,(61H)=_______,...
4.已知(SP)=60H,子程序SUBTRN 的首地址为0345H,现执行位于0123H 的ACALL SUBTRN
双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。 展开
双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。 展开
5个回答
展开全部
0123H: ACALL SUBTRN ; (PC)=0123H (因为是双字节指令) (PC)=PC+2
0125H: 未知指令 ; (PC)=0345H , (61H)=25H , (62H)=01H. (SP)=62H
-------- ; 程序转到子程序 首地址
0345H: 未知指令 ; PC=0345 (子程序 SUBTRN 的首地址)
------
RET ; 执行到这里会 弹出 SP
0125H: 未知指令 ; (PC)=0345H , (61H)=25H , (62H)=01H. (SP)=62H
-------- ; 程序转到子程序 首地址
0345H: 未知指令 ; PC=0345 (子程序 SUBTRN 的首地址)
------
RET ; 执行到这里会 弹出 SP
展开全部
PC=0345H
SP保存的是ACALL指令之后的下一条指令的地址,ACALL指令占了2字节,所以ACALL SUBTRN之后指令的地址是0125H,则61H=25H,62H=01H。
SP保存的是ACALL指令之后的下一条指令的地址,ACALL指令占了2字节,所以ACALL SUBTRN之后指令的地址是0125H,则61H=25H,62H=01H。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0123H:
ACALL
SUBTRN
;
(PC)=0123H
(因为是双字节指令)
(PC)=PC+2
0125H:
未知指令
;
(PC)=0345H
,
(61H)=25H
,
(62H)=01H.
(SP)=62H
--------
;
程序转到子程序
首地址
0345H:
未知指令
;
PC=0345
(子程序
SUBTRN
的首地址)
------
RET
;
执行到这里会
弹出
SP
ACALL
SUBTRN
;
(PC)=0123H
(因为是双字节指令)
(PC)=PC+2
0125H:
未知指令
;
(PC)=0345H
,
(61H)=25H
,
(62H)=01H.
(SP)=62H
--------
;
程序转到子程序
首地址
0345H:
未知指令
;
PC=0345
(子程序
SUBTRN
的首地址)
------
RET
;
执行到这里会
弹出
SP
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ACALL SUBTRN 调用函数PC指针指向函数首地址 (PC)=0345H,
并将返回地址存入堆栈 (61H)=25H, (62H)=01H
并将返回地址存入堆栈 (61H)=25H, (62H)=01H
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ACALL指令占了2字节,SUBTRN占了2字节,所以ACALL SUBTRN之后下一条指令的地址是0127H。
0345H
27H
01H
0345H
27H
01H
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询