해결된 질문
작성
·
142
0
지역변수의 경우에는 매개변수, 이전bp값과는 다르게
push 명령어 없이도 스택에 저장되는 것인가요?
만약 맞다면
mov ebp, esp
sub esp, ..... 이후 어느 명령어를 통해서
지역변수 c의 값이 스택에 저장된 것인지 궁금합니다.
답변 1
1
네 push가 없어도 sub esp가 그 역할을 해줍니다.
사실 스택은 인위적으로 무엇인가를 '할당'하고 그런 개념이 아닙니다.
스택 메모리는 이미 처음부터 존재하는 것이고,
그 영역을 쪼개서 우리가 사용하는 것이며
그 사용 영역 관리를 ebp와 esp 등을 이용해서 하는 것이죠.
sub esp를 통해 스택 영역을 확보하고 그 공간에 데이터를 사용하는 원리입니다.
ebp+ 상대주소를 이용해 접근을 하고요.