|
[½»Á÷]
VS2008²é¿´»ã±à´úÂëÒÑÓÐ2È˲ÎÓë
Á˽ⷴ»ã±àµÄһЩС֪ʶ¶ÔÓÚÎÒÃÇÔÚ¿ª·¢Èí¼þʱ½øÐбà³ÌÓëµ÷ÊÔ´óÓкô¦£¬ÏÂÃæÒÔVS2008»·¾³ÏµÄVC++¼òµ¥½éÉÜһϷ´»ã±àµÄһЩС¶«Î÷£¡Èç¹ûÓÐЩ½âÊÍÓÐÎÊÌâµÄµØ·½£¬Ï£Íû´ó¼ÒÄܹ»Ö¸³ö¡£
1¡¢Ð½¨¼òµ¥µÄVC¿ØÖÆ̨ӦÓóÌÐò£¨¶Ô´ËÊìϤµÄͬѧ¿ÉÒÔÂÔ¹ý£©
A¡¢´ò¿ªMicrosoft Visual Studio 2008£¬Ñ¡ÔñÖ÷²Ëµ¥¡°File¡±
B¡¢Ñ¡Ôñ×Ӳ˵¥¡°New¡±ÏÂÃæµÄ¡°Project¡±£¬´ò¿ª¡°New Project¡±¶Ô»°¿ò¡£
C¡¢×ó±ßÑ¡ÔñVisual C++ϵÄwin32£¬ÓÒ±ßÑ¡ÔñWin32 Console Application£¬È»ºóÊäÈëÒ»¸ö¹¤³ÌÃû£¬µã»÷¡°OK¡±¼´¿É£¬ÔÚ³öÏÖµÄÏòµ¼ÖУ¬Ò»ÇÐĬÈÏ£¬µã»÷Finish¼´¿É¡£
D¡¢ÔÚ³öÏֵıà¼ÇøÓòÄÚ»á³öÏÖÒÔÄãÉ趨µÄ¹¤³ÌÃûÃüÃûµÄCPPÎļþ¡£ÄÚÈÝÈçÏ£º
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
2¡¢VS²é¿´»ã±à´úÂë
A¡¢VC´¦ÓÚµ÷ÊÔ״̬²ÅÄÜ¿´µ½»ã±àÖ¸Áî´°¿Ú¡£Òò´Ë£¬¿ÉÒÔÔÚ return 0 ÉÏÉèÖÃÒ»¸ö¶Ïµã£º°Ñ¹â±êÒƵ½ return 0 ÄÇÒ»ÐÐÉÏ£¬È»ºó°´ÏÂF9¼üÉèÖÃÒ»¸ö¶Ïµã¡£
B¡¢°´ÏÂF5¼ü½øÈëµ÷ÊÔ״̬£¬µ±³ÌÐòÍ£ÔÚ return 0 ÕâÒ»ÐÐÉÏʱ£¬´ò¿ª²Ëµ¥¡°Debug¡±Ïµġ°Windows¡±×Ӳ˵¥£¬Ñ¡Ôñ¡°Disassembly¡±¡£ÕâÑù£¬³öÏÖÒ»¸ö·´»ã±àµÄ´°¿Ú£¬ÏÔʾÏÂÃæµÄÐÅÏ¢£º
--- d:/my documents/visual studio 2008/projects/casmtest/casmtest/casmtest_main.cpp
// CAsmTest.cpp : ¶¨Òå¿ØÖÆ̨ӦÓóÌÐòµÄÈë¿Úµã¡£
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
00411370 push ebp
00411371 mov ebp,esp
00411373 sub esp,0C0h
00411379 push ebx
0041137A push esi
0041137B push edi
0041137C lea edi,[ebp-0C0h]
00411382 mov ecx,30h
00411387 mov eax,0CCCCCCCCh
0041138C rep stos dword ptr es:[edi]
return 0;
0041138E xor eax,eax
}
00411390 pop edi
00411391 pop esi
00411392 pop ebx
00411393 mov esp,ebp
00411395 pop ebp
00411396 ret
ÉÏÃæ¾ÍÊÇϵͳÉú³ÉµÄmainº¯ÊýÔÐÍ£¬È·ÇеÄ˵ÊÇ_tmain()µÄ·´»ã±àµÄÏà¹ØÐÅÏ¢£¬ÏàÐÅѧ¹ý»ã±àÓïÑԵĿ϶¨¾ÍÄܹ»Á˽âËüËù×öµÄ²Ù×÷ÁË¡£
3¡¢¼òµ¥Á˽âһϳ£¼ûµÄ»ã±àÖ¸Áî
ΪÁËÕչ˵½Ã»Ñ§¹ý»ã±à³ÌÐòµÄͬ־ÃÇ£¬ÕâÀï¼òµ¥½éÉÜһϳ£¼ûµÄ¼¸ÖÖ»ã±àÖ¸Áî¡£
A¡¢add£º¼Ó·¨Ö¸ÁµÚÒ»¸öÊÇÄ¿±ê²Ù×÷Êý£¬µÚ¶þ¸öÊÇÔ´²Ù×÷Êý£¬¸ñʽΪ£ºÄ¿±ê²Ù×÷Êý = Ä¿±ê²Ù×÷Êý + Ô´²Ù×÷Êý¡£
B¡¢sub£º¼õ·¨Ö¸Á¸ñʽͬ add¡£
C¡¢call£ºµ÷Óú¯Êý£¬Ò»°ãº¯ÊýµÄ²ÎÊý·ÅÔڼĴæÆ÷ÖС£
D¡¢ret£ºÌøת»áµ÷Óú¯ÊýµÄµØ·½¡£¶ÔÓ¦ÓÚcall£¬·µ»Øµ½¶ÔÓ¦µÄcallµ÷ÓõÄÏÂÒ»ÌõÖ¸ÁÈôÓзµ»ØÖµ£¬Ôò·ÅÈëeaxÖС£
E¡¢push£º°ÑÒ»¸ö32λµÄ²Ù×÷ÊýѹÈë¶ÑÕ»ÖУ¬Õâ¸ö²Ù×÷ÔÚ32λ»úÖлáʹµÃesp±»¼õ4£¨×Ö½Ú£©£¬espͨ³£ÊÇÖ¸ÏòÕ»¶¥µÄ£¨ÕâÀïÒªÖ¸³öµÄÊÇ£ºÑ§¹ýµ¥Æ¬»úµÄͬѧÇë×¢ÒⵥƬ»úÖֵĶÑÕ»ÓëWindowsϵĶÑÕ»ÊDz»Í¬µÄ£¬Çë²Î¿¼ÏàÓ¦×ÊÁÏ£©£¬ÕâÀﶥ²¿ÊǵØַСµÄÇøÓò£¬ÄÇô£¬Ñ¹Èë¶ÑÕ»µÄÊý¾ÝÔ½¶à£¬espÒ²¾ÍÔ½À´Ô½Ð¡¡£
F¡¢pop£ºÓëpushÏà·´£¬espÿ´Î¼Ó4£¨×Ö½Ú£©£¬Ò»¸öÊý¾Ý³öÕ»¡£popµÄ²ÎÊýÒ»°ãÊÇÒ»¸ö¼Ä´æÆ÷£¬Õ»¶¥µÄÊý¾Ý±»µ¯³öµ½Õâ¸ö¼Ä´æÆ÷ÖС£
Ò»°ã²»»á°Ñsub¡¢addÕâÑùµÄËãÊõÖ¸ÁÒÔ¼°call¡¢retÕâÑùµÄÌøתָÁî¹éÈë¶ÑÕ»Ïà¹ØÖ¸ÁîÖС£µ«ÊÇʵ¼ÊÉÏÔÚº¯Êý²ÎÊý´«µÝ¹ý³ÌÖУ¬subºÍadd×î³£ÓÃÀ´²Ù×÷¶ÑÕ»£»callºÍret¶Ô¶ÑÕ»Ò²ÓÐÓ°Ïì¡£
G¡¢mov£ºÊý¾Ý´«ËÍ¡£µÚÒ»¸ö²ÎÊýÊÇÄ¿µÄ²Ù×÷Êý£¬µÚ¶þ¸ö²ÎÊýÊÇÔ´²Ù×÷Êý£¬¾ÍÊÇ°ÑÔ´²Ù×÷Êý¿½±´µ½Ä¿µÄÒ»·Ý¡£
H¡¢xor£ºÒì»òÖ¸ÁÕâ±¾ÉíÊÇÒ»¸öÂß¼ÔËËãÖ¸Áµ«ÔÚ»ã±àÖ¸ÁîÖÐͨ³£»á¼ûµ½Ëü±»ÓÃÀ´ÊµÏÖÇåÁ㹦ÄÜ¡£Óà xor eax,eaxÕâÖÖ²Ù×÷À´ÊµÏÖ mov eax,0£¬¿ÉÒÔʹËٶȸü¿ì£¬Õ¼ÓÃ×Ö½ÚÊý¸üÉÙ¡£
I¡¢lea£ºÈ¡µÃµÚ¶þ¸ö²ÎÊýµØÖ·ºó·ÅÈ뵽ǰÃæµÄ¼Ä´æÆ÷£¨µÚÒ»¸ö²ÎÊý£©ÖС£
È»¶øleaҲͬÑù¿ÉÒÔʵÏÖmovµÄ²Ù×÷£¬ÀýÈ磺
lea edi,[ebx-0ch]
·½À¨ºÅ±íʾ´æ´¢µ¥Ôª£¬Ò²¾ÍÊÇÌáÈ¡·½À¨ºÅÖеÄÊý¾ÝËùÖ¸ÏòµÄÄÚÈÝ£¬È»¶øleaÌáÈ¡ÄÚÈݵĵØÖ·£¬ÕâÑù¾ÍʵÏÖÁË°Ñ£¨ebx-0ch£©·ÅÈëµ½ÁËediÖУ¬µ«ÊÇmovÖ¸ÁîÊDz»Ö§³ÖµÚ¶þ¸ö²Ù×÷ÊýÊÇÒ»¸ö¼Ä´æÆ÷¼õÈ¥Ò»¸öÊýÖµµÄ¡£
J¡¢stos£º´®Ðд洢ָÁËüʵÏÖ°ÑeaxÖеÄÊý¾Ý·ÅÈëµ½ediËùÖ¸µÄµØÖ·ÖУ¬Í¬Ê±ediºóÒÆ4¸ö×Ö½Ú£¬ÕâÀïµÄstosʵ¼ÊÉ϶ÔÓ¦µÄÊÇstosd£¬ÆäËûµÄ»¹ÓÐstosb,stosw·Ö±ð¶ÔÓ¦1£¬2¸ö×Ö½Ú¡£
K¡¢jmp£ºÎÞÌõ¼þÌøתָÁ¶ÔÓ¦ÓÚ´óÁ¿µÄÌõ¼þÌøתָÁî¡£
L¡¢jg£ºÌõ¼þÌøת£¬´óÓÚʱ³ÉÁ¢£¬½øÐÐÌøת£¬Í¨³£Ìõ¼þÌøת֮ǰ»áÓÐÒ»Ìõ±È½ÏÖ¸ÁÓÃÓÚÉèÖñê־룩¡£
M¡¢jl£ºÐ¡ÓÚʱÌøת¡£
N¡¢jge£º´óÓÚµÈÓÚʱÌøת¡£
O¡¢cmp£º±È½Ï´óСָÁ½á¹ûÓÃÀ´ÉèÖñê־λ¡£
4¡¢º¯Êý²ÎÊý´«µÝ·½Ê½
º¯Êýµ÷ÓùæÔòÖ¸µÄÊǵ÷ÓÃÕߺͱ»µ÷Óú¯Êý¼ä´«µÝ²ÎÊý¼°·µ»Ø²ÎÊýµÄ·½·¨£¬ÔÚWindowsÉÏ£¬³£ÓõÄÓÐPascal·½Ê½¡¢WINAPI·½Ê½£¨_stdcall£©¡¢C·½Ê½£¨_cdecl£©¡£
A¡¢_cdecl Cµ÷ÓùæÔò£º
£¨a£©²ÎÊý´ÓÓÒµ½×ó½øÈë¶ÑÕ»£»
£¨b£©ÔÚº¯Êý·µ»Øºó£¬µ÷ÓÃÕßÒª¸ºÔðÇå³ý¶ÑÕ»£¬ÕâÖÖµ÷Ó÷½Ê½Í¨³£»áÉú³É½Ï´óµÄ¿ÉÖ´ÐгÌÐò¡£
B¡¢_stdcallÓÖ³ÆΪWINAPI£¬µ÷ÓùæÔòÈçÏ£º
£¨a£©²ÎÊý´ÓÓÒµ½×ó½øÈë¶ÑÕ»£»
£¨b£©±»µ÷Óõĺ¯ÊýÔÚ·µ»ØÇ°×ÔÐÐÇåÀí¶ÑÕ»£¬ÕâÖÖ·½Ê½Éú³ÉµÄ´úÂë±ÈcdeclС¡£
C¡¢Pascalµ÷ÓùæÔò£¨Ö÷ÒªÓÃÓÚWin16º¯Êý¿âÖУ¬ÏÖÔÚ»ù±¾²»Óã©£º
£¨a£©²ÎÊý´Ó×óµ½ÓÒ½øÈë¶ÑÕ»£»
£¨b£©±»µ÷Óõĺ¯ÊýÔÚ·µ»ØÇ°×ÔÐÐÇåÀí¶ÑÕ»¡£
£¨c£©²»Ö§³Ö¿É±ä²ÎÊýµÄº¯Êýµ÷Óá£
5¡¢VCÖзÃÎÊÎÞЧ±äÁ¿³ö´íÔÒò
ÎÒÃÇ¿´ÉÏÃæÖ÷º¯Êý·´»ã±àºóµÄÆäÖÐÒ»¶Î´úÂëÈçÏ£º
0041137C lea edi,[ebp-0C0h]
00411382 mov ecx,30h
00411387 mov eax,0CCCCCCCCh
0041138C rep stos dword ptr es:[edi]
´Ó´úÂëµÄ±íÃæÉÏ¿´£¬ËüÊÇʵÏÖ°Ñ´Óebp-0C0h¿ªÊ¼µÄ30h¸ö×ֵĿռäдÈë0CCCCCCCCh¡£ÆäÖÐeaxΪËÄλµÄÊý¾Ý£¬ÕâÑù¿ÉÒÔ¼ÆË㣺
0C0h = 30h * 4
Ò²¾ÍÊÇ°Ñ´Óebp-0C0h µ½ebpÖ®¼äµÄ¿Õ¼ä³õʼ»¯Îª0CCCCCCCCh¡£´ó¼ÒÔÚѧϰ·´»ã±àµÄ¹ý³ÌÖлᷢÏÖ£¬Æäʵ±àÒëÆ÷»á¸ù¾ÝÇé¿ö°ÑÏàÓ¦³¤¶ÈµÄÕâÑùÒ»¶Î×÷Ϊ¾Ö²¿±äÁ¿µÄ¿Õ¼ä£¬¶øÕâÀï°Ñ¾Ö²¿±äÁ¿ÇøÓòÈ«¶¼³õʼ»¯³É0CCCCCCCChÒ²ÊÇÓÐÆäÓÃÒâµÄ£¬×öVC±à³ÌµÄ¹¤×÷Õߣ¬ÌرðÊdzõѧÕß¿ÉÄܲ»»á¶Ô0CCCCCCCChÕâ¸ö³£Á¿Ä°Éú¡£0cchʵ¼ÊÉÏÊÇint 3Ö¸ÁîµÄ»úÆ÷Â룬ÕâÊÇÒ»¸ö¶ÏµãÖжÏÖ¸ÁÔÚ·´±àÒë³öµÄÐÅÏ¢Öдó¼Ò»á¿´µ½int 3£©£¬ÒòΪ¾Ö²¿±äÁ¿²»¿É±»Ö´ÐУ¬»òÕßÈç¹ûÔÚûÓгõʼ»¯µÄʱºò½øÐÐÁË·ÃÎÊ£¬Ôò¾Í»á³öÏÖ·ÃÎÊʧ°Ü´íÎó¡£Õâ¸öÔÚVC±àÒëDebug°æ±¾ÖвÅÄÜ¿´µ½ÌáʾÕâ¸ö´íÎó£¬ÔÚRelease°æ±¾ÖУ¬»áÒÔÁíÍâÒ»ÖÖ´íÎóÐÎʽÌåÏÖ¡£ÏÂÃ棬ÎÒÃÇÐÞ¸ÄÖ÷³ÌÐò¿´ÏÂnewÓëdeleteµÄ·´»ã±àµÄЧ¹û£¨×¢ÊÍÖ±½Ó¼Óµ½·´»ã±àµÄ´úÂëÖÐÁË£©¡£
VCÉú³É¹¤³Ì£¬Ð´ÈëÔ´´úÂëÈçÏ£º
£¨1£©Çé¿ö1
// ASM_Test.cpp : Defines the entry point for the console application. £¨ Ô´´úÂë1 £©
//
#include "stdafx.h"
#include "stdlib.h"
int _tmain(int argc, _TCHAR* argv[])
{
int *pTest = new int(3); //¶¨ÒåÒ»¸öÕûÐÍÖ¸Õ룬²¢³õʼ»¯Îª 3
printf( "*pTest = %d/r/n", *pTest ); //µ÷Óÿ⺯ÊýprintfÊä³öÊý¾Ý
delete []pTest; //ɾ³ýÕâ¸öÖ¸Õë
return 0;
}
ÕâÀï½ö½ö¿´ÏÂÔÚnewÓëdelete½øÐпռä¹ÜÀíʱ½øÐз´»ã±àʱ¿ÉÄܳöÏÖµÄһЩÇé¿ö£¬ÎÒÃÇ°ÑÉÏÃæÔ´´úÂë³ÆΪԴ´úÂ루1£©£¬ÎÒÃÇ°´ÕÕÇ°Ãæ½²½âµÄ²é¿´VSÏ·´»ã±àµÄ·½·¨¿ÉÒÔ¿´µ½¶ÔÓ¦ÓÚÉÏÃæ´úÂëµÄ·´»ã±à´úÂëÈçÏ£º
--- f:/mysource/asm_test/asm_test/asm_test.cpp --------------------------------- ( ·´»ã±à´úÂë 1£©
// ASM_Test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdlib.h"
int _tmain(int argc, _TCHAR* argv[])
{
;£¨1£©º¯ÊýÔ¤´¦Àí²¿·Ö
004113C0 push ebp
004113C1 mov ebp,esp ;±£´æ¶ÑÕ»µÄÕ»¶¥Î»ÖÃ
004113C3 sub esp,0E8h ;ÒªÖÃΪ0CCCCCCCCh ±£Áô±äÁ¿¿Õ¼ä³¤¶È
004113C9 push ebx ;±£´æ¼Ä´æÆ÷ebx¡¢esi¡¢edi
004113CA push esi
004113CB push edi
004113CC lea edi,[ebp-0E8h] ;Ìá³öÒªÖÃΪ0CCCCCCCCh µÄ¿Õ¼äÆðʼµØÖ·
004113D2 mov ecx,3Ah ;ÒªÖÃΪ0CCCCCCCCh µÄ¸öÊý£¬Ã¿¸öÕ¼4¸ö×Ö½Ú
004113D7 mov eax,0CCCCCCCCh ;ÓÚÊÇ3Ah * 4 = 0E8h
004113DC rep stos dword ptr es:[edi] ;½øÐÐÖÃΪ0CCCCCCCCh²Ù×÷
£»£¨2£©¶¨ÒåÒ»¸öint ÐÍÖ¸Õ룬·ÖÅä¿Õ¼äºó£¬²¢³õʼ»¯Îª 3 £¬
int *pTest = new int(3); //¶¨ÒåÒ»¸öÕûÐÍÖ¸Õ룬²¢³õʼ»¯Îª 3
004113DE push 4 ;Òª·ÖÅäµÄ¿Õ¼ä³¤¶È£¬»á¸ù¾Ý¶¨ÒåµÄÊý¾ÝÀàÐͶø²»Í¬
004113E0 call operator new (411186h) ;·ÖÅä¿Õ¼ä£¬²¢°Ñ·ÖÅä¿Õ¼äµÄÆðʼµØÖ··ÅÈëeaxÖÐ
004113E5 add esp,4 ;ÓÉÓÚnewÓëdeleteº¯Êý±¾ÉíûÓжÔÕ»½øÐе¯³ö²Ù×÷£¬ËùÒÔ£¬Òª±àдÕß×Ô¼º´¦Àí
004113E8 mov dword ptr [ebp-0E0h],eax ;±È½Ï·ÖÅäµÄ¿Õ¼äÊÇ·ñΪ0£¬Èç¹ûΪ0
004113EE cmp dword ptr [ebp-0E0h],0
004113F5 je wmain+51h (411411h)
004113F7 mov eax,dword ptr [ebp-0E0h] ;¶ÔÓÚ·ÖÅäµÄµØÖ··ÖÅä¿Õ¼ä½øÐи³ÖµÎª£º3
004113FD mov dword ptr [eax],3
00411403 mov ecx,dword ptr [ebp-0E0h]
00411409 mov dword ptr [ebp-0E8h],ecx ;ËƺõÓÃ[ebp - 0E0h]ºÍ[ebp - 0E8h]×÷ΪÁËÖмä´æ´¢µ¥Ôª
0041140F jmp wmain+5Bh (41141Bh)
00411411 mov dword ptr [ebp-0E8h],0 ;ÉÏÃæ·ÖÅä¿Õ¼äʧ°ÜÊǵIJÙ×÷
0041141B mov edx,dword ptr [ebp-0E8h]
00411421 mov dword ptr [pTest],edx ;Êý¾Ý×îºóËÍÈëpTest±äÁ¿ÖÐ
;µ÷ÓÃprintfº¯Êý½øÐÐÊý¾ÝÊä³ö
printf( "*pTest = %d/r/n", *pTest ); //µ÷Óÿ⺯ÊýprintfÊä³öÊý¾Ý
00411424 mov esi,esp ;ÓÃÓÚµ÷ÓÃprintfºóµÄEsp¼ì²â£¬²»Ã÷°×±àÒëÆ÷ΪʲôÕâÑù×ö
00411426 mov eax,dword ptr [pTest] ;ÌáÈ¡Òª´òÓ¡µÄÊý¾Ý£¬ÏÈÊǵØÖ·£¬ÏÂÃæÒ»ÌõÊÇÌáÈ¡¾ßÌåÊý¾Ý
00411429 mov ecx,dword ptr [eax]
0041142B push ecx ;Á½¸ö²ÎÊýÈëÕ»
0041142C push offset string "*pTest = %d/r/n" (41573Ch)
00411431 call dword ptr [__imp__printf (4182C4h)] ;µ÷Óú¯Êý
00411437 add esp,8 ;ÓÉÓڿ⺯ÊýÎÞ³öÕ»¹ÜÀí²Ù×÷£¬Í¬newÓëdelete£¬ËùÒÔÒª¼Ó 8£¬½øÐжÑÕ»´¦Àí
0041143A cmp esi,esp ;¶Ô¶ÑÕ»µÄÕ»¶¥½øÐвâÊÔ
0041143C call @ILT+325(__RTC_CheckEsp) (41114Ah)
£»½øÐÐÖ¸Õë±äÁ¿µÄÇåÀí¹¤×÷
delete []pTest; //ɾ³ýÕâ¸öÖ¸Õë
00411441 mov eax,dword ptr [pTest] ;[pTest] ÖзÅÈëµÄÊÇ·ÖÅäµÄµØÖ·£¬ÏÂÃ漸ÌõÖ¸ÁîתÓÆһȦ
00411444 mov dword ptr [ebp-0D4h],eax ;¾ÍÊÇÒª°ÑÒªÇåÀíµÄµØÖ·ËÍÈë¶ÑÕ»£¬È»ºóµ÷ÓÃdeleteº¯Êý
0041144A mov ecx,dword ptr [ebp-0D4h]
00411450 push ecx
00411451 call operator delete (411091h)
00411456 add esp,4 ;¶Ô¶ÑÕ»½øÐд¦Àí£¬Í¬newÓëprintfº¯Êý
£»º¯Êý½áÊøºó£¬½øÐÐ×îÖÕµÄÇåÀí¹¤×÷
return 0;
00411459 xor eax,eax ;×öÏàÓ¦µÄÇåÀí¹¤×÷£¬¶ÑÕ»Öб£´æµÄ±äÁ¿ËÍ»ØԼĴæÆ÷
}
0041145B pop edi
0041145C pop esi
0041145D pop ebx
0041145E add esp,0E8h ;½øÐжÑÕ»µÄÕ»¶¥ÅжÏ
00411464 cmp ebp,esp
00411466 call @ILT+325(__RTC_CheckEsp) (41114Ah)
0041146B mov esp,ebp
0041146D pop ebp
0041146E ret
--- No source file -------------------------------------------------------------;ºóÃæ²»ÔÙÊÇÔ´´úÂë
ÔÚÁгö·´»ã±à³ÌÐòʱ°Ñ·´»ã±à´úÂëµÄÉÏϵķֽâ×¢ÊÍÒ²ÁÐÁ˳öÀ´£¬Ç×ÊÖÈ¥²é¿´µÄÅóÓÑ¿ÉÄܻᷢÏÖÔÚÕâ¶Î´úÂëµÄÖ®ÍâµÄÆäËû²¿·Ö»áÓдóÁ¿µÄint 3»ã±àÖеÄÖжÏÖ¸ÁÕâ¸öÊÇÓëÉÏÃæµÄËù˵µÄ0CCCCCCCCh¾ßÓÐÒ»ÖÂÐÔ£¬ÕâЩÇøÓòÊÇÎÞЧÇøÓò£¬µ«´úÂë·ÃÎÊÕâЩÇøÓòʱ¾Í»á³öÏÖ·Ç·¨·ÃÎÊÌáʾ¡£µ±È»£¬ÄãÓ¦¸Ã¿ÉÒÔÏëµ½£¬ÄǸöÌáʾÊÇ¿ÉÒÔ±»ÆÁ±ÎµôµÄ£¬Äã¿ÉÒÔ°ÑÕⲿ·ÖÇøÓòÌî³äÉÏÊý¾Ý»òÕßÐÞ¸Ä iint 3 µ÷ÓõÄÖжϳÌÐò¡£
´ÓÒÔÉÏ·´»ã±à³ÌÐò£¬ÎÒÃÇ¿ÉÒÔ·¢ÏÖ¼¸µã£º
A¡¢Ò»Ð©ÄÚ²¿µÄ¿âº¯ÊýÊDz»»á¶Ô¶ÑÕ»½øÐгöÕ»¹ÜÀíµÄ£¬ËùÒÔÈôÒª¶Ô·´»ã±à³ÌÐò½øÐвÙ×÷ʱ£¬Ò»µãҪעÒâÕâÒ»µã
B¡¢±àÒëÆ÷»á×Ô¶¯µÄ¼ÓÉÏһЩ¶ÔÕ»¶¥µÄ¼ì²é¹¤×÷£¬Õâ¸öÊÇÎÒÃÇÔÚ×öVCµ÷ÊÔʱ¾³£Óöµ½µÄÒ»¸öÎÊÌ⣬¾ÍÊǶÑÕ»´íÎó
µ±È»ÒÔÉÏÖ»ÊǶÔdebug°æ±¾ÏµijÌÐò½øÐз´»ã±à£¬Èç¹ûΪrelease °æ±¾£¬´úÂë¾Í»á½øÐдóÁ¿µÄÓÅ»¯£¬ÔÚÀí½âʱ»áÓÐÒ»¶¨µÄÄѶȣ¬ÓÐÐËȤÅóÓÑ¿ÉÒÔÊÔ×Å·´»ã±àһϣ¬ÍƼö´ó¼ÒÓÐIDA·µ»Ø¹¤¾ß£¬¸Ð¾õͦºÃÓõġ£ |
» ±¾ÌûÒÑ»ñµÃµÄºì»¨£¨×îÐÂ10¶ä£©
» ²ÂÄãϲ»¶
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍƼö£¬¶ÔÄúͬÑùÓаïÖú:
|