注册 登录
编程论坛 汇编论坛

在VC++6.0中怎么调用反汇编 ??

h978147355 发布于 2010-01-14 11:43, 4744 次点击
我看过一个帖子  里面给的代码是这样的

用VC中的debug反汇编:
q=(++j)+(++j)+(++j);
0040102F   mov         eax,dword ptr [ebp-4]  //把j的值传到寄存器EAX,dword ptr [ebp-4]存放的是变量j
00401032   add         eax,1                  //EAX加1
00401035   mov         dword ptr [ebp-4],eax   //EAX的值传到变量j,这两步实现第一个++j,此时j=6
00401038   mov         ecx,dword ptr [ebp-4]   //把j的值传到寄存器ECX
0040103B   add         ecx,1                   //ECX加1
0040103E   mov         dword ptr [ebp-4],ecx   //ECX的值传到变量j,这两步实现第二个++j,此时j=7
00401041   mov         edx,dword ptr [ebp-4]    //把变量j传到EDX
00401044   add         edx,dword ptr [ebp-4]    //再加上j的值,这一步实现了第一个加号的加法运算,内存中j变量的值仍是7
00401047   mov         eax,dword ptr [ebp-4]    //把j的值传到寄存器EAX
0040104A   add         eax,1                    //EAX加1
0040104D   mov         dword ptr [ebp-4],eax    //把EAX的值传送到变量j中,此时,变量j在内存中的值是8
00401050   add         edx,dword ptr [ebp-4]    //EDX加上j的值,EDX中存放的是前面的第一个加法运算的结果14,最后EDX的值为22
00401053   mov         dword ptr [ebp-8],edx    //把运算结果传到内存中变量q的地方,所以最后变量q为22
我想问一下  在vc++6.0中怎么搞出来的  
本人比较菜  希望大家给个详细步骤
4 回复
#2
h9781473552010-01-14 11:50
我就知道一种就是按F10后alt+8  
不过不懂什么原理  
哪位有别的方法  知道的大侠说下原理
谢谢啦
#3
onepc2010-01-14 14:03
直接按f10就行了。
#4
swp1601082010-01-14 14:30
调试状态下alt-8就出来了
#5
醉罪2010-01-16 20:34
综合上面的回答  F10进入调试状态
ALT+8 查看对应汇编源码
1