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 |