[SPARC] 26. Stack Frame 사용 예제
·
CS/어셈블리
지난 글에서는 스택 프레임의 개념에 대해 정리하였다. 스택프레임은 스택이라는 메모리 공간을 차지하는 기본 단위이다. 서브루틴을 호출할 때마다 레지스터와 스택프레임이 할당된다. 이때 할당되는 스택프레임의 크기는 save 명령어를 통해 지정할 수 있는데, 최소 사이즈는 64바이트였다. (l-register, i-register 저장 용도) 만약 스택 프레임 내에서 또다른 함수를 호출한다면, 구조체 반환 포인터 크기 4byte와, 매개변수 전달 용도의 24byte 사이즈 공간이 추가로 더 필요해 최소 92byte 사이즈가 필요했다. 여기에 만약 지역변수를 추가로 사용한다면 사용할 지역변수의 총 사이즈만큼 추가로 할당이 필요했다. 마지막으로 총 사용하는 사이즈 크기를 8의 배수로 맞춰 생성해야 한다. 스택 프레..