read_int 함수를 호출하고 나면 그 결과가 eax 에 들어감, [ebx]에다가 eax를 넣는데 별로 신경 쓸 건 없고, push eax 를 함으로써 스택의 꼭대기에 eax 값이 들어감. 이제 ret 명령어를 실행하는데 ret 는 스택의 꼭대기에 있는 값으로 점프하는 녀석이야. 앞에서 eax를 꼭대기에 밀어 버렸잖아? 그래서 결국 read_int 함수의 리턴 값으로 가는거임. 엉뚱한 곳으로 간다는 거임. 원래는 get_int 를 호출한 어떤 함수로 가야 하는 게 맞겠지.
복귀주소는 스택을 이용한다고.
아 잘이해안된다 ㅠ
read_int 함수를 호출하고 나면 그 결과가 eax 에 들어감, [ebx]에다가 eax를 넣는데 별로 신경 쓸 건 없고, push eax 를 함으로써 스택의 꼭대기에 eax 값이 들어감. 이제 ret 명령어를 실행하는데 ret 는 스택의 꼭대기에 있는 값으로 점프하는 녀석이야. 앞에서 eax를 꼭대기에 밀어 버렸잖아? 그래서 결국 read_int 함수의 리턴 값으로 가는거임. 엉뚱한 곳으로 간다는 거임. 원래는 get_int 를 호출한 어떤 함수로 가야 하는 게 맞겠지.
ㄴ 오오오ㅗ오오 형님.... 능력자시네요 감사합니다 꾸벅