RETL

CS/어셈블리

[SPARC] 30. 서브루틴 개요 & call, jmpl, ret, retl

지난 글에서는 구조체가 메모리에 어떻게 저장되는지를 정리하였다.구조체도 배열과 마찬가지로, 먼저 선언된 변수가 낮은 주소의 값 (%fp에서 먼 쪽)을 가진다.그래서 먼저 선언된 변수의 위치를 기준으로 직접 경계 정렬을 하여 전체 구조체가 가지는 사이즈를 계산한 뒤,구조체의 시작 위치를 구조체 내 변수중 가장 큰 사이즈의 배수로 맞추어 선언하면 되었다. 이번 글부터는 서브루틴에 대해 좀 더 자세하게 정리하고자 한다.서브루틴서브루틴은 '특정 작업을 여러번 수행하는 연속된 명령어의 나열' 으로 볼 수 있다.서브루틴의 실행 과정을 한번 정리해보자. 1. 인자값 설정o-register 에 값을 할당하여 매개변수로 넘길 값을 설정한다.(인자값은 o0 ~ o5 까지 6개 레지스터 범위에서 사용가능하며, 이를 넘어가는..

에버듀
'RETL' 태그의 글 목록