pushad和popad,这两个 压栈和出栈两个命令在什么时候需要加,什么时候不用加

求大神解决,纠结数日。,没有财富值了。求好心人解决、... 求大神解决,纠结数日。,没有财富值了。求好心人解决、 展开
 我来答
KawaguchiSky
2013-08-21 · TA获得超过2638个赞
知道小有建树答主
回答量:296
采纳率:100%
帮助的人:127万
展开全部
没有什么好纠结的。pushad和popad只能用于386及其后继机型。执行pushad,依次将EAX、ECX、EDX、EBX、ESI、EDI,执行后ESP- 32,用于保护中断现场;popad执行结果相反,用于恢复中断现场。

如果在程序中要用到某些寄存器,但它们的内容在将来还有用,就可以使用这组入栈和出栈指令。比如子程序的调用和中断处理程序调用会经常用到。在形式上与push和pop是类似的,但pushad和popad由于能一次性完成多个寄存器入栈出栈,故比单纯的push和pop更为方便,而且执行效率较高。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fastfs
2013-07-02 · TA获得超过1423个赞
知道大有可为答主
回答量:2659
采纳率:62%
帮助的人:791万
展开全部
搞不明白这有什么好纠结的,需要保存寄存器的时候就要用啊,比如进程的切换的时候。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式