鱼C论坛

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

关于win32汇编的问题

[复制链接]
发表于 2013-8-1 10:27:13 | 显示全部楼层 |阅读模式

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

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

x
刚学win32汇编 有一些问题 一直想不清楚  求大神指点迷津以下是我的代码
这个是我的C++代码
void a()
 {
         int a1=100;
         int a2=200;
 }
下面是反汇编的代码
    13:  void a()
    14:  {
01163310  push        ebp  
01163311  mov         ebp,esp  
01163313  sub         esp,0D8h  
01163319  push        ebx  
0116331A  push        esi  
0116331B  push        edi  
0116331C  lea         edi,[ebp-0D8h]  
01163322  mov         ecx,36h  
01163327  mov         eax,0CCCCCCCCh  
0116332C  rep stos    dword ptr es:[edi]  
    15:          int a1=100;
0116332E  mov         dword ptr [a1],64h      ;在这里想问的是,把64h  放到 [a1]中 这个默认的短地址是不是ds?
    16:          int a2=200;                                        ;如果是ds的话  那怎么怎么实现局部变量?局部变量不应该是随着
01163335  mov         dword ptr [a2],0C8h       ;函数的结束而死了吗? 如果不是压入栈中  就没有随着函数的结束而丢
    17:  }                                                           ;失啊  很是纠结   
0116333C  pop         edi  
0116333D  pop         esi  
0116333E  pop         ebx  
0116333F  mov         esp,ebp  
01163341  pop         ebp  
01163342  ret  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-1 12:31:52 | 显示全部楼层
http://blog.csdn.net/njnu_mjn/article/details/7849522
看看这篇日志,你可能有所领悟~~~~~~~~~
函数中的局部变量在函数返回时, 要被销毁. 但在实际的编译运行过程中, 编译器进行了优化, 执行过程并不按照标准步骤进行.~~~~~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-1 12:37:28 | 显示全部楼层
楼上高手正解,楼主可参照。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 12:56:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 12:56:50 | 显示全部楼层
福禄娃娃 发表于 2013-8-1 12:37
楼上高手正解,楼主可参照。

谢谢:lol:{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 13:24:36 | 显示全部楼层
zer0 发表于 2013-8-1 12:31
http://blog.csdn.net/njnu_mjn/article/details/7849522
看看这篇日志,你可能有所领悟~~~~~~~~~
函数中 ...

解决问题了 ,谢谢你啊   琢磨了好久了 嘿嘿{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-1 18:57:03 | 显示全部楼层
x87648510 发表于 2013-8-1 13:24
解决问题了 ,谢谢你啊   琢磨了好久了 嘿嘿

好的~~~~~请及时采纳谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-2 09:52:51 | 显示全部楼层
编译的时候把,VC优化关了,编译出来的就按照你想的那么走了,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-2 18:19:47 | 显示全部楼层
ssyss501 发表于 2013-8-2 09:52
编译的时候把,VC优化关了,编译出来的就按照你想的那么走了,

嗯 谢谢  也发现这个问题  现在的 编译器都智能了  自动优化{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-29 05:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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