ARM 소프트웨어는 다음의 프로시져 호출 관례에 따라서 레지스터 16개를 할당한다.


r0-r3 : 전달할 인수를 가지고 있는 인수 레지스터 4개

lr(r14) : 호출한 곳으로 되돌아가기 위한 복귀 주소를 가지고 있는 링크 레지스터 한 개



관례

r0-r3, r12 : 프로시져 호출 시, 피호출 프로그램이 값을 보존해 주지 않는 인수 또는 스크래치 레지스터

r4-r11 : 프로시져 호출 전과 후의 값이 같게 유지되어야 하는 변수 레지스터 8개(피호출 프로그램이 이 레지스터를 사용하면 원래 값을 저장했다가 원상 복구한다.)




+ Recent posts