본문 바로가기
전자/임베디드 시스템

스택 포인터 구하는 C 코드

by Begi 2022. 10. 24.
반응형

스택 포인터 구하는 C 코드는 다음과 같다.

 

void print_stack_pointer() 

{
    void* p = NULL;
    printf("%p", (void*)&p);
}

 

함수가 실행되어 지역변수가 선언되면 void 포인터 p가 스택에 저장된다.

 

&p는 포인터가 저장된 주소이다. 즉, 포인터 p가 저장된 스택의 주소이다.

 

위와 같은 코드는 MCU 종류와 상관없이 사용할 수 있다.

 

보통 스택 포인터를 구하기 위해 asm 문으로 sp 레지스터를 읽는데, 위와 같은 코드는 훨씬 쉽고 간결하게 스택 포인터를 구할 수 있다.

 

반응형

댓글