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是传参的大小。

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


已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页