
CS/어셈블리
[SPARC] 32. 서브루틴 매개변수 전달
지난 글에서는 register set 과 register window overflow / underflow 에 대해 정리하였다. SPARC는 CWP, WIM 2가지 값을 이용해 오버플로우나 언더플로우가 발생하는지 확인하고, 처리하였다. 이번 글에서는 서브루틴에 매개변수를 전달하는 방법을 정리하였다. 서브루틴의 매개변수 전달 서브루틴의 매개변수를 전달할 때, 전에는 그냥 %o0 ~ %o5 를 사용한다고 정리하였다. 그런데 만약 매개변수의 개수가 6개를 넘어가면 어떻게 해야할까? SPARC에서는 매개변수의 순번에 따라 데이터를 넘기는 방식이 다르다. 6번째 매개변수까지 6번째 매개변수까지는 전에 정리했던대로 o-register 를 이용하여 매개변수를 전달한다. %o0~%o5 를 사용할 수 있다. %o6 은 ..