关于OD 反汇编 retn 0x4 这个4代表什么意思?

经常能看到RETN后面加一个数字这个数字代表的什么含义?... 经常能看到 RETN 后面加一个数字 这个数字代表的什么含义? 展开
 我来答
赵金生2311211
2014-03-26 · TA获得超过432个赞
知道小有建树答主
回答量:321
采纳率:0%
帮助的人:223万
展开全部
在汇编中 一个子程序(call)有几个参数(push)就需要几个RETURN(堆栈平衡) 因为push压入的是四字节 所以有几个push 也就需要几个RETN 4(push数量*4)
请采纳!!!
追问
如果有4个参数的话,Retn 4  代表的是 从堆栈弹出4个4字节的数据 然后在返回? 那谈出的数据 被丢弃了?
追答
四个参数就是retn 10   十六进制的十六
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
AINI6658
2014-03-25 · TA获得超过2267个赞
知道大有可为答主
回答量:1707
采纳率:66%
帮助的人:533万
展开全部
从堆栈弹出4个字节,典型的stdcall约定的一环,由被调用方清理堆栈。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_fmlyht
2014-03-25 · TA获得超过2359个赞
知道大有可为答主
回答量:2398
采纳率:0%
帮助的人:1838万
展开全部
RET操作数表示释放参数(由调用者传入)所占用的栈空间!

retn,retf是ret的两个版本,retn表示Near return。retf表示Far return。

欲了解更多,可参考《Intel® 64 and IA-32 Architectures Software Developer’s Manual》第4章4.2 INSTRUCTIONS中的RET指令!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-03-29
展开全部
;一段函数

push eax, ...
push ebx, ...
ret
这样是不对的,堆栈不平衡。
加上
add esp, 相应长度,写在在retn之前。
或者retn 跟一个数,效果是一样的 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式