250| 9
|
[已解决] 汇编平衡堆栈的问题,刚才帖子重复了 |
8精币
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。 友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。 快捷通道:申请荣誉值 → 无答案申请取消悬赏 → 投诉有答案未采纳为最佳 | ||
发表于 2024-11-8 10:10:08
|
显示全部楼层
| ||
点评
因为易语言的子程序都是stdcall,所以子程序在返回时要根据参数来平衡堆栈,你子程序内call其它函数,是其它函数的事。你这里ret是只管自身函数的
| ||
发表于 2024-11-8 10:42:58
|
显示全部楼层
| ||
点评
因为这个子程序是stdcall,别人调用它时传了一个参数,这个子程序要负责平衡esp,所以返回时就需要ret 0x4
| ||
发表于 2024-11-8 11:36:47
|
显示全部楼层
| ||
点评
是的,第一点的前提是对方也是stdcall。
在易语言的子程序内用ret汇编指令等效返回,要负责堆栈的平衡。如果这个子程序没有参数,就是直接ret
| ||
sitemap|
易语言源码|
易语言教程|
易语言论坛|
易语言模块|
手机版|
广告投放|
精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司
( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173