함수내부에서 거의뮤조건 그렇게하던데 와그렇게 내가 선배들의 고여버린 전통을 따라야하는거냐 주먹마렵네십알
야 어셈블리어공부중인데rbp를 왜rsp로초기화시켜줘야하노?
문대앙(211.36)
2021-10-02 20:28
추천 1
댓글 4
다른 게시글
-
웹 vs 앱 어떤거 할거냐 [1]익명(118.32) | 21.10.02추천 0
-
내생각에 전공>학벌(간판)>=학점 인거같음 ㅇㅇ [5]익명(114.200) | 21.10.02추천 0
-
개인적으로 VR CHAT 과몰입에 관심이 있는 이유가 ㅇㅅㅇ [4]익명(121.186) | 21.10.02추천 0
-
안드로이드 앱 만들 때 gps쓰려면 돈내야해?무화과깜빠..(subsprtlty) | 21.10.02추천 0
-
현재 수입이 없는 회사는 들어가기 좀 그래 ? [6]익명(210.105) | 21.10.02추천 0
-
모모쨩은 겨드랑이도 청순합니당❤️ [1]♥하뚜냥덩♥(re2002) | 21.10.02추천 0
-
모모쨩은 정말루 바보입니당 !!♥하뚜냥덩♥(re2002) | 21.10.02추천 0
-
알고리즘 재밌긴함 [1]코로모(qscsq1) | 21.10.02추천 0
-
컴공이 국비에 비해서 갖는 경쟁력이 뭐임? [9]익명(114.205) | 21.10.02추천 0
-
코틀린에서 코루틴하고 유니티 코루틴 다른거 같은데 맞음?익명(118.32) | 21.10.02추천 0
sp는 동일한 서브루틴 안에서도 계속 값이 변하니까 sp로는 파라미터나 로컬변수에 접근하기 힘들어서 bp로 sp값 복사해서 bp를 아용해서 접근하는거임
너 웹히키냐
컨벤션 안 지켜도 대충 돌아가게 만들 순 있음 근데 제대로 할 거면 무조건 컨벤션 지켜야함
BP는 두가지 특징이 있는데 스택 내부에서 항상 고정된 위치를 갖는다는 점과 이전 함수의 BP를 가리킨다는 점이야. 고정된 위치를 가지기 때문에 스택 포인터 값을 신경 쓸 필요가 없고 이전 함수의 지역 변수들을 그대로 보존할 수 있음. 프로시저 도입부에 BP를 스택에 백업하고 BP에 SP를 대입하는 것은 말 그대로 이전 함수의 스택 프레임을 보존시킨다는 의미임. 프로시저 끝에는 SP에 BP를 다시 복사하고 BP의 값을 스택에서 가져옴. 이 과정이 없으면 함수 한번 실행할때마다 지역 변수가 모조리 초기화됨. 그리고 결정적으로 프로시저의 재귀적인 호출을 위해서는 스택 프레임이 제일 편하기 때문에 전통이 유지되는거임.