RISC-V Stack Segement

MySprtlty·2023년 4월 28일
0

RISC-V

목록 보기
3/4
post-thumbnail

🏷️RISC-V Stack Segement

  • RISC-V가 프로시저를 호출하는 과정은 다음과 같다.
  1. x10-x17의 레지스터로 최대 8개의 인자를 넘길 수 있지만, 이보다 더 많은 인자를 넘겨야 할 때(9개 이상의 인자를 넘겨야 할 때) 추가적인 인자는 stack에 push해서 전달한다.
  2. 복귀 주소가 들어가 있는 x1 레지스터의 값(Return adderess)을 stack에 저장한다.
  3. 호출 후에도 값의 보존이 보장되어야 하는 register값들을 stack에 저장한다.
  4. 지역 변수를 위한 공간을 스택에 할당한다.
  • 🖇️cf. 사실 변역 프로그램(컴파일러)이 얼마나 똑똑한지에 따라(최적화를 잘하는지) 지역 변수는 레지스터에 할당 될 수도 있기 때문에, 참고 정도만 하는 것이 좋다.
profile
2Co 4:7

0개의 댓글