rep stos dword ptr [edi]

引用一篇http://apps.hi.baidu.com/share/detail/11140897
rep 为repeat 重复之意
stos 为store string 保存字符串之意
ptr 为pointer 指针之意

00401060   push        ebp

00401061   mov         ebp,esp

00401063   sub         esp,40h

00401066   push        ebx

00401067   push        esi

00401068   push        edi

00401069   lea         edi,[ebp-40h]

0040106C   mov         ecx,10h ;rep的次数 10h*4=40h

00401071   mov         eax,0CCCCCCCCh

00401076   rep stos    dword ptr [edi] ;把栈空间初始化为eax的内容(0CCCCCCCCh)

从累加器EAX传送4个字节,到由EDI作为指针的目的串中,同时修改EDI以指向串中的下一个单

元。利用重复操作可以在串在建立一串相同的值。此指令对标志位无影响。



这里提下__cdecl 与 __stdcall

两者的差别很小,就是__stdcall:被调用的函数在返回前清理传送参数的内存栈。而__cdecl 不做。

在代码上差异就是一条指令:add     esp,4  

这里的4是传参的大小。

要说代价的话,那真的是很小很小的


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值