컴파일러 짜고있는데 예를들어서 int*p; 라고 선언했을 때
p가 함수 프레임 안의 어떤 위치에 존재하잖아요
예를들어 -4($fp)이면 -4($fp) 안에 인트값이 들어가나요? 아니면 메모리 주소가 들어가는 건가요?
주소가 들어가는 거면 처음 선언했을 때 그 주소는 어떤 주소가 들어가나요?
컴파일러 짜고있는데 예를들어서 int*p; 라고 선언했을 때
p가 함수 프레임 안의 어떤 위치에 존재하잖아요
예를들어 -4($fp)이면 -4($fp) 안에 인트값이 들어가나요? 아니면 메모리 주소가 들어가는 건가요?
주소가 들어가는 거면 처음 선언했을 때 그 주소는 어떤 주소가 들어가나요?
음 그러니까 p가 -4($fp)인지 *p가 -4($fp)인지 모르겠어요
-4($fp) 라는게, 스택 프레임이 낮은 주소 - 4 라는 의미임 ?
만약 윗 말이 맞다면, 해당 주소에 값이 들어있겠죠 ?
그래서 x86 에서 지역 변수 접근할때 ebp-4 주소에 dword ptr 로 접근
컴파일러를 만드시다니, 대단하시네요
해볼 생각도 못해본 1인 입니다
let였던가?? 무브말고 있잔아 그걸로 포인터 쓰는거 아님??
addi로 프레임포인터로부터 계산해서 넣는방식으로 했습니다 ㄱㅅㄱㅅ
아 lea ?