在汇编中“RETN”是什么意思?

谢谢了。。。那在问问有什么命令跟他有一样的功能?谢谢了!?... 谢谢了。。。那在问问有什么命令跟他有一样的功能?谢谢了!? 展开
 我来答
呀豆荚
2007-04-04 · TA获得超过3080个赞
知道小有建树答主
回答量:752
采纳率:100%
帮助的人:1265万
展开全部
应该是RET N吧?
就是子程序返回,然后把堆栈的N个字节弹出来。
其实就是执行ret后,将n加入sp中,实际上是从堆栈中弹出n个字节的数据,以冲掉在call指令前压入堆栈的参数。
相当于这样:
ret
add sp,n
因为8086/8088的堆栈是字堆栈(就是说进栈出栈都是16位的),所以,ret n中的n必须是偶数。
亚远景信息科技
2024-12-11 广告
上海亚远景信息科技有限公司是国内汽车行业咨询及评估领军机构之一,深耕于ASPICE、敏捷SPICE、ISO26262功能安全、ISO21434车辆网络安全领域,拥有20年以上的行业经验,专精于培训、咨询及评估服务,广受全球车厂及供应商赞誉,... 点击进入详情页
本回答由亚远景信息科技提供
好生俊俏111
2018-11-21
知道答主
回答量:2
采纳率:0%
帮助的人:1616
展开全部
retn 是汇编指令, ret near 的意思,与 retf (return far) 相对应
retn N 或者 ret N 通常使用在 __stdcall 中,__stdcall 是一种函数参数传递方式,由 被调用函数 还原栈指针,因此被调用函数在返回之前会执行 retn N 或者 ret N。所以这种方式很容易计算出参数个数,如果在 x86 机器上,参数个数就是 N/4。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
allgarbage
推荐于2018-02-27 · TA获得超过108个赞
知道答主
回答量:2
采纳率:100%
帮助的人:3280
展开全部
下面的回答太离谱了。。。。。。。

RETN是 return near的意思,就是不恢复cs。
retn的操作是 pop eip,然后执行eip指向的指令。

对应的是retf。操作是
pop eip
pop cs
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tgw5667
2007-04-04 · TA获得超过4731个赞
知道大有可为答主
回答量:2196
采纳率:0%
帮助的人:2788万
展开全部
重复循环执行一段程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式