汇编call 指令
展开全部
call
word
ptr
?[?]是段内调用,只是先把当前指令的下一条指令的ip压栈,然后将?[?]下的内容给ip,然后继续执行.
在压栈时是sp=sp-2,ss:[sp]=压栈的ip值.
call
dword
ptr
?[?]是段间调用,只是先把当前的cs压栈,然后将指令的下一条指令的ip压栈,然后将?[?]下的内容给ip,
?[?+2]的内容给cs,然后继续执行.
这里是sp=sp-2;ss:[sp]=压栈的cs,然后sp=sp-2;ss:[sp]=压栈的ip.
希望对你有用.
word
ptr
?[?]是段内调用,只是先把当前指令的下一条指令的ip压栈,然后将?[?]下的内容给ip,然后继续执行.
在压栈时是sp=sp-2,ss:[sp]=压栈的ip值.
call
dword
ptr
?[?]是段间调用,只是先把当前的cs压栈,然后将指令的下一条指令的ip压栈,然后将?[?]下的内容给ip,
?[?+2]的内容给cs,然后继续执行.
这里是sp=sp-2;ss:[sp]=压栈的cs,然后sp=sp-2;ss:[sp]=压栈的ip.
希望对你有用.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
透过STM32您的嵌入式应用将得益于意法半导体优秀的产品架构、技术、多源产地和全方位支持。意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM Cortex-M0、M0+、M3、M4、M33、M7及A7内核并具备...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
call指令是调用子程序,后面紧跟的应该是子程序名或者过程名。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
call di 和 call dword ptr [di]都是对的,但功能(结果)不一样。
call di是说所调用的子程序的入口偏移地址=di的值,段地址CS不变(段内调用);
call dword ptr [di]是说所调用的子程序的入口的“偏移地址”存放在内存单元DS:{di]中,而其“段地址”则存在DS:[di+2]中,这是段间调用。
call di是说所调用的子程序的入口偏移地址=di的值,段地址CS不变(段内调用);
call dword ptr [di]是说所调用的子程序的入口的“偏移地址”存放在内存单元DS:{di]中,而其“段地址”则存在DS:[di+2]中,这是段间调用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询