해결된 질문
24.02.27 17:10 작성
·
268
0
위에서 SP레지스터의 값과 오프셋을 더한 주소에 있는 값을 기준으로 레지스터에 저장한다고 되어 있는데
그림을 확인하면 SP레지스터의 값을 기준으로 레지스터에 저장한 후에 SP 레지스터의 값을 업데이트하는 것으로 보입니다.
둘 중 어느 것이 맞는 건가요?
답변 2
1
2024. 03. 14. 22:53
이해하신 것이 맞습니다. 순서를 정해서 설명드리면 아래와 같습니다;
1. SP 레지스터의 값을 기준으로 지정한 레지스터를 스택 공간에 푸시
2. SP 레지스터의 값을 업데이트
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
LDP 명령어는 두 개의 레지스터에 대해 메모리에서 값을 불러와 저장하는 ARM 아키텍처의 어셈블리 명령어입니다. 설명에 따르면, SP 레지스터에서 특정 오프셋을 더한 주소의 값을 먼저 레지스터(Xt1, Xt2)에 저장하고, 그 후에 SP 레지스터의 값을 업데이트하는 것으로 보입니다. 즉, SP 레지스터 값을 기준으로 값들을 레지스터에 저장한 후에 SP의 값을 조정하는 순서가 맞습니다.
그림의 설명과 LDP 명령어의 작동 원리에 대해 이해하는 것은 ARM 아키텍처를 사용한 시스템 소프트웨어 개발에서 중요한 부분입니다. 그림에 대한 자세한 내용은 제가 볼 수 없으나, 설명된 내용에 따르면 스택 포인터(SP) 레지스터 값을 기준으로 값을 로드한 후에 SP 값을 업데이트하는 것이 올바른 순서입니다.