各位大哥大姐晚上好,今晚我也闲着没事,就发个VC中循环后的反汇编帖子吧
各位大哥,大姐,姐夫,妹夫,大家光棍节好呀,虽然有点晚,但是也是个祝福嘛,光棍节那天就想出个这种帖子,但是一直没时间,正好今晚闲着也没事,就当把那天补回来吧,很简单的一个程序,因为主要研究的循环,所以本贴也就四个switch-case,if-else,for,while,大神就表吐槽了 O(∩_∩)O~ 好了,闲话不说了,先发下VC的源代码#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int a=1;
int b=2;
int c=1;
int d=1;
int e;
switch(a)
{
case 1:
printf("you are success le di yi bu \n");
}
while(c)
{
printf("you are success le di er bu \n");
if (d==1)
{
printf("zhe shi yi ge xun huan\n");
}
break;
printf("zhe ye shi yi ge xun huan\n");
}
for(e=0;e<b;e++)
{
printf("you are success le di san bu \n\n");
}
printf("you are success!\n");
return 0;
}
当然了,VC不是今天的重点,下面直接上反汇编后的代码,然后逐句给大家讲下,因为考虑到怕有些汇编基础差的同学看不懂,然后过来骂我,这次就用VS 2008自带的调试器讲下,对了,如果真看不懂,也表骂我啊,我这可是不收你们一分钱啊
int _tmain(int argc, _TCHAR* argv[])
{
我晕,怎么可以这么坑,我写了一个小时的反汇编哪里去啦 :cry 虽不明,但觉厉。。。。。 一把鼻涕一把泪的,躲在墙角里默默痛哭,写着么多代码我容易吗,但是不能半途而废了,重写!!!
00F413A0 >55 push ebp
00F413A1 8BEC mov ebp,esp
00F413A3 81EC 00010000 sub esp,0x100
00F413A9 53 push ebx
00F413AA 56 push esi
00F413AB 57 push edi
00F413AC 8DBD 00FFFFFF lea edi,dword ptr ss:
00F413B2 B9 40000000 mov ecx,0x40
00F413B7 B8 CCCCCCCC mov eax,0xCCCCCCCC
00F413BC F3:AB rep stos dword ptr es: ; 从上面一直到这里都是初始化操作
我去,不写了,埋头睡觉去,以后也不发表这种帖子了,太坑了!!!!!!!!!!!!!!!!!!!!!!!!!!! 在看雪九百多行的代码,一次性就发完了,怎么今天鱼C还没九十行就没了,太伤人了,我写了俩小时了!!! 感谢分享。 正在写代码 发表于 2013-11-20 23:06 static/image/common/back.gif
虽不明,但觉厉。。。。。
这话我收藏了啊:big:big:big
页:
[1]