visual studio 에서 디버깅하면 디스어셈블러에서 이상한게 나오는데
알고보니 일종의 포인터 연산 이런거 였다는게 함정..
rep stos dword ptr es:[edi]
머.. 자세한건 다시 읽어 봐야겠다.
[링크 : https://www.cs.umd.edu/users/meesh/webpages/cmsc311/links/handouts/ia32.pdf]
알고보니 일종의 포인터 연산 이런거 였다는게 함정..
int _tmain(int argc, _TCHAR* argv[])
{
004113A0 push ebp
004113A1 mov ebp,esp
004113A3 sub esp,0CCh
004113A9 push ebx
004113AA push esi
004113AB push edi
004113AC lea edi,[ebp-0CCh]
004113B2 mov ecx,33h
004113B7 mov eax,0CCCCCCCCh
004113BC rep stos dword ptr es:[edi]
int a = 0;
004113BE mov dword ptr [a],0
a++;
004113C5 mov eax,dword ptr [a]
004113C8 add eax,1
004113CB mov dword ptr [a],eax
printf("hello world %d\n", a);
004113CE mov esi,esp
004113D0 mov eax,dword ptr [a]
004113D3 push eax
004113D4 push offset string "hello world %d\n" (41573Ch)
004113D9 call dword ptr [__imp__printf (4182BCh)]
004113DF add esp,8
004113E2 cmp esi,esp
004113E4 call @ILT+320(__RTC_CheckEsp) (411145h)
return 0;
004113E9 xor eax,eax
} |
rep stos dword ptr es:[edi]
mov dword ptr [a],0
mov eax,dword ptr [a]
mov eax,dword ptr [a]
머.. 자세한건 다시 읽어 봐야겠다.
'Programming > Assembly(어셈블리)' 카테고리의 다른 글
| fasm / nasm / masm (0) | 2015.06.13 |
|---|---|
| 어셈블리 관련 (0) | 2015.06.11 |
| .DATA? 지시어 (0) | 2011.07.31 |
| x86 register (2) | 2011.07.17 |
| PowerPC(PPC) 어셈관련 내용 (0) | 2011.04.04 |
