首页
社区
课程
招聘
[旧帖] [求助]汇编代码this指针问题 0.00雪花
发表于: 2011-7-6 09:50 1382

[旧帖] [求助]汇编代码this指针问题 0.00雪花

2011-7-6 09:50
1382
_TEXT SEGMENT
_wmain      PROC
      push  ebp                                 
      mov   ebp, esp         
                  
      push  -1                                                                               
      push  __ehhandler$_wmain
      mov   eax, DWORD PTR fs:0 
      push  eax                 
      sub   esp, d8H   
   
      push  ebx
      push  esi
      push  edi

      lea   edi, DWORD PTR [ebp-e4H]           
      mov   ecx, 36H                           
      mov   eax, ccccccccH
      rep stosd

      mov   eax, DWORD PTR ___security_cookie 
      xor   eax, ebp    
      push  eax                                 

      lea   eax, DWORD PTR [ebp-0cH]            
      mov   DWORD PTR fs:0, eax                 

      lea   ecx, DWORD PTR [ebp-14H]
      call  ??0my_class@@QAE@XZ               
      mov   DWORD PTR [ebp-4], 0   
........................   


      lea   ecx, DWORD PTR [ebp-14H]  应该是往ecx中放入this指针,然后调用构造函数,

this 指针什么时候放入[ebp-14H]的????

    lea   edi, DWORD PTR [ebp-e4H]           
      mov   ecx, 36H                           
      mov   eax, ccccccccH
      rep stosd

放入[ebp-14H]的应该是CCCCCCCCH呀???

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
, lea   ecx, DWORD PTR [ebp-14H]
是把 [ebp-14h]的这个地址(也就是这个局部变量的地址)装入ecx,而不是内容,否则就是mov 指令了。this指针本身的含义也就是对象的地址。至于它的内容是0xcccccccc,这无关紧要,因为ctor会初始化成员的。
2011-7-6 09:56
0
雪    币: 76
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
取局部变量地址作为this指针, 不是取局部变量内容
2011-7-6 09:57
0
雪    币: 65
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
明白了,谢谢了!!
2011-7-6 10:01
0
雪    币: 1489
活跃值: (1013)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
sub   esp, d8H  

这一句就一次性分配了局部变量、对象的空间了,只不过此对象是局部变量性质的生命周期在函数内。
lea   ecx, DWORD PTR [ebp-14H]这句可以确定对象的起始位置了。
2011-7-6 10:17
0
游客
登录 | 注册 方可回帖
返回
//