사용자 정의 함수
그러니까 0401000에서 시작 되는 함수의 리턴값을 구하라는 문제인데요.,,
스택으로 찬찬히 그려보니까
->| b |<-
| 401046 |
| 0 |
| 0 |
| 0 |
| a |
사용자 정의 함수로 들어 갔을때 이 모양이 되는데요
mov eax, ebp+8이면 저기 돌아올 주소 스택 밑에 0이잖아요.
eax는 0
add eax, 5니까
eax는 5....
리턴값 5 일줄 알고 썼는데 틀렸다네요...
도데체 어디서 문제가 생긴거죠...?
한문제 잡고 몇시간동안 똑같은 스택만 그리니까 미칠거 같아요...ㅜ 제발 도와주세요....부탁드립니다...
먼소린지 모르겟네 스택하고 레지스터값하고 햇갈리는거 같은데?
니가 말한 401000 ~ 40100A에선 푸쉬하고 팝을 하면 스택에 남아있는게 없는데?
"mov eax, ebp+8이면 저기 돌아올 주소 스택 밑에 0이잖아요." 이게 무슨말인지 모르겟다 난
그리고 eax가 0인걸 어떻게 아남? 정확히말하면 eax에는 [EBP+8]이 들어가 있는상태에서 add로 5를 더하는데
ESP의 개념하고 프로시져에서 어셈블의 동작방식도 다시 공부하도록