1236 发表于 2013-11-20 22:51:57

各位大哥大姐晚上好,今晚我也闲着没事,就发个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[])
{





1236 发表于 2013-11-20 22:54:01

我晕,怎么可以这么坑,我写了一个小时的反汇编哪里去啦 :cry

正在写代码 发表于 2013-11-20 23:06:46

虽不明,但觉厉。。。。。

1236 发表于 2013-11-20 23:27:03

一把鼻涕一把泪的,躲在墙角里默默痛哭,写着么多代码我容易吗,但是不能半途而废了,重写!!!
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:                              ; 从上面一直到这里都是初始化操作

1236 发表于 2013-11-20 23:28:03

我去,不写了,埋头睡觉去,以后也不发表这种帖子了,太坑了!!!!!!!!!!!!!!!!!!!!!!!!!!!

1236 发表于 2013-11-20 23:31:34

在看雪九百多行的代码,一次性就发完了,怎么今天鱼C还没九十行就没了,太伤人了,我写了俩小时了!!!

bigshan 发表于 2013-11-21 10:16:09

感谢分享。

逆流杀 发表于 2014-6-25 22:08:38

正在写代码 发表于 2013-11-20 23:06 static/image/common/back.gif
虽不明,但觉厉。。。。。

这话我收藏了啊:big:big:big
页: [1]
查看完整版本: 各位大哥大姐晚上好,今晚我也闲着没事,就发个VC中循环后的反汇编帖子吧