首页
社区
课程
招聘
[旧帖] [求助]这段代码是啥意思啊??请不吝赐教!!! 0.00雪花
发表于: 2010-3-21 15:51 1250

[旧帖] [求助]这段代码是啥意思啊??请不吝赐教!!! 0.00雪花

2010-3-21 15:51
1250
004010BB  |.  BF 446B4000   mov     edi, 00406B44                                ;  ASCII "4-7"
004010C0  |.  83C9 FF       or      ecx, FFFFFFFF
004010C3  |.  F2:AE         repne   scas byte ptr es:[edi]
004010C5  |.  8BCA          mov     ecx, edx
004010C7  |.  4F            dec     edi
004010C8  |.  C1E9 02       shr     ecx, 2        <1>
004010CB  |.  F3:A5         rep     movs dword ptr es:[edi], dword ptr [esi]
004010CD  |.  8BCA          mov     ecx, edx
004010CF  |.  55            push    ebp
004010D0  |.  83E1 03       and     ecx, 3       <2>
004010D3  |.  68 34604000   push    00406034                                     ;  ASCII "%lu"
004010D8  |.  F3:A4         rep     movs byte ptr es:[edi], byte ptr [esi]
004010DA  |.  BF 30604000   mov     edi, 00406030

具体解释一下 <1><2>的作用, 还有就是ecx的值是25123的长度 本来是5位长度 但是后面没有del ecx啊 就是6位 为什么不用del,还要放一个0在里面
可能我说的不清楚,但是很多人碰到过这情况 应该会知道的,请不吝赐!教!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
<1>shr逻辑右移指令,把ecx的值右移两位,每次右移最高位补0,最低位移到CF中
<2>and 逻辑与................
2010-3-21 15:58
0
雪    币: 67
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你没有说清楚.逻辑与那些我都知道 你还是没有仔细看我的问题
2010-3-21 19:15
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
4
1) rep     movs dword
    单位是 dword , 所以先 shr ecx,2   (除以4的意思)
2) 最后剩余不足一个 dword 的那些用 rep     movs byte
    and ecx, 3 即是取剩余几个byte未搬
2010-3-21 19:23
0
雪    币: 67
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
高手出击 效果果然不同

这么一说,这不都明白了 . 不然又要为这个问题专研几天,

sessiondiy真是一个好人,很多高手碰到这问题不鸟人的.

十分感谢!!
2010-3-21 19:51
0
游客
登录 | 注册 方可回帖
返回
//