开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 789|回复: 5
收起左侧

[已解决] 汇编提问

 关闭 [复制链接]

结帖率:100% (78/78)
发表于 2023-11-7 12:15:17 | 显示全部楼层 |阅读模式   河南省洛阳市
20精币
pushad call 内容
popad

看了一些资料和别的大佬的代码


好多调用汇编的有前后加了压栈和出栈

但是有些代码也都没写压栈和出栈

这个是有选择性的 还是什么个逻辑

如果都固定加了 有什么弊端嘛?

最佳答案

查看完整内容

pushad 与popad这些解释在百du你就可以看得到,一般用于保存与恢复寄存器的值。防止因为修改寄存器的值,而导致程序崩溃,但绝对不是肯定不会错,举个例子EAX寄存器,有些时候是用来保存返回值的,你在CALL后如果用了POPAD 那么程序的返回值就被你强行修改了。call就毫无意义. pushad这类命令要看情况使用. ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:59% (10/17)
发表于 2023-11-7 12:15:18 | 显示全部楼层   湖北省随州市
风度猫 发表于 2023-11-7 14:36
那这个理解 是不是  只要入栈出栈 无非就是多加了 但是肯定不会错, 但是不加就有可能出错,所以保险点就都 ...

pushad 与popad这些解释在百du你就可以看得到,一般用于保存与恢复寄存器的值。防止因为修改寄存器的值,而导致程序崩溃,但绝对不是肯定不会错,举个例子EAX寄存器,有些时候是用来保存返回值的,你在CALL后如果用了POPAD  那么程序的返回值就被你强行修改了。call就毫无意义.
pushad这类命令要看情况使用.
回复

使用道具 举报

结帖率:97% (153/157)

签到天数: 17 天

发表于 2023-11-7 12:31:40 | 显示全部楼层   广东省江门市
我也是个小白,据我个人理解的是,如果寄存器在前面被赋值过了,你也想要赋值的话就要入栈和出栈,这样不影响寄存器原来的值。
如果寄存器没有被赋值的话就不必入栈了

我个人理解,如果错误的话请大佬指正
回复

使用道具 举报

结帖率:50% (2/4)
发表于 2023-11-7 14:17:50 | 显示全部楼层   北京市北京市
如果参数多了 可以用地址循环读取。如果你写代码    a(b,c,d,e)当这个是参数时候是一套 如果这数据就是放进去计算后只返回一个结果就又是一套这个只要能不报错抄就是没逻辑就是是固定格式。
回复

使用道具 举报

结帖率:100% (78/78)

签到天数: 5 天

 楼主| 发表于 2023-11-7 14:36:28 | 显示全部楼层   河南省洛阳市
㠫孬嫑夯芘 发表于 2023-11-7 12:31
我也是个小白,据我个人理解的是,如果寄存器在前面被赋值过了,你也想要赋值的话就要入栈和出栈,这样不影 ...

那这个理解 是不是  只要入栈出栈 无非就是多加了 但是肯定不会错, 但是不加就有可能出错,所以保险点就都加上?
回复

使用道具 举报

结帖率:60% (3/5)

签到天数: 21 天

发表于 2023-11-8 01:36:32 | 显示全部楼层   广西壮族自治区柳州市
pushad 继存器全部指定顺序入栈
popad 全部按指定顺序出栈
看似方便实际上没什么卵用,也从没看到过哪个编译器成生的代码有这两句,在64位汇编中已经取消了这两个指令。
用这两句的汇编都没学到家
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表