鱼C论坛

 找回密码
 立即注册
查看: 7045|回复: 8

关于这个东东RtlZeroMemory

[复制链接]
发表于 2011-11-16 10:26:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
研究到win32汇编窗口时,其它部分基本能理解,就是这个RtlZeroMemory东东,不知道是用来干什么的,它有两个参数,第一个参数是取窗口类的首地址,第二个参数是窗口类结构的大小。高手来给我讲讲啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-16 10:46:38 | 显示全部楼层
清零一块内存空间····
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-16 10:52:27 | 显示全部楼层
是不是给wndclass节构腾出一块内存空间 讲详细点呀,大哥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-16 11:01:10 | 显示全部楼层
原来是把一块内存空间填O,因为结构中有的一些地方不填O且又不初始化,里面的数据可能是拉级数据,这样解释大家都懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-17 08:33:04 | 显示全部楼层
;P  小B同学 这个名字 太有爱了   深有甲鱼老师风范啊

好了 进入正题吧
xor eax,eax                   ;要将这块内存的每个单元要初始化的数值 送入eax
mov edi,offset szString   ;获取这块内存的地址 送去edi
mov ecx,dwStingSize      ;这块内存的要初始化的长度 送去ecx
cld                               ;CLD使DF复位,即DF=0
rep stosb                      ;重复覆盖掉edi所指向的单元
REP           ;CX<>0 重复执行字符串指令
汇编指令stosb,stosw,stosd,分别是把AL,AX,EAX的内容存储到EDI所指的内存单元中,同时根据EDI的值根据方向标志增加或减少,可配合指令REP一起使用

另外:汇编指令MOVSB,MOVSW,意思是搬移一个字节或一个字,它是把 DS:SI 所指地址的一个字节搬移到 ES:DI 所指的地址上,搬移后原来的内容不变,但是原来 ES:DI 所指的内容会被覆盖而且在搬移之后 SI 和 DI 会自动的指向下一个要搬移的地址。

okay  这些是本质的原理  那么在继续看几个类似的API函数吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-17 08:37:32 | 显示全部楼层
:lol突然发现上面的 esi变笑脸了   - -

RtlMoveMemory   移动内存         ----> ?--->movsb
RtlFillMemory     填充内存块       --->eax = ? ---->stosb
RtlZeroMemory    以0填充内存块  -->eax = 0 ----->stosb  如果是sw,sd的话 那样计数的方式就不一样了
okay   想必lz 应该现在有一个更加清楚的认识了吧   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-17 08:40:34 | 显示全部楼层
:o学习了,有空研究研究,先上班
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-11 18:33:00 | 显示全部楼层
那个程序的的意思是,local @stWndClass:WNDCLASS先是在栈中申请了一块地方,但这块地方乱七八糟的数字,所以要先清零,就好像去饭店吃饭,店小二给你找了张空桌,但桌上还有上桌客人留下吃剩盘子碟子没收拾,你要用桌子就得先得把桌子模干净一样!不过清零也可以自己清,用循环把0全填进去(你在VC++中看反汇编代码的时候,经常会看到这么做的),但用系统提供的填零函数更省事
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-4-10 10:58:45 | 显示全部楼层
bingghost 发表于 2011-11-17 08:37
:lol突然发现上面的 esi变笑脸了   - -

RtlMoveMemory   移动内存         ----> ?--->movsb

学习了,感谢楼主。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 13:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表