argumentpassing
-
[PintOS] Project 2 - Argument Passing (2)Projects/Krafton_Jungle_4 2024. 3. 16. 14:24
이제 user_stack에 문자 배열과 문자열 개수를 전달하는 작업을 수행해야 한다. load()에서 setup_stack() 을 통해 인터럽트 프레임의 rsp의 위치를 USER_STACK으로 설정해 두었다. 주소는 0x47480000 이다. 그전에 각각의 레지스터들이 어떤 역할을 하는지 정리를 해 보자 범용 레지스터 작은 데이터 저장 공간으로 연산처리, 연산 결과, 복귀 주소 등 작은 데이터를 기억하는 레지스터이다. RAX - Accumulator 주로 산술 연산에 사용되고, 함수의 반환 값도 이 레지스터를 통해 전달된다. RBX - Base 메모리 주소를 저장하기 위한 용도로 사용된다. RCX - Counter 반복문에서 카운터로 사용되는 역할이다. RDX - Data 다른 레지스터를 서포트하는 레지..