강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

drei998162989 のプロフィール画像
drei998162989

投稿した質問数

システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 第2部 著者直講(2024年版)

スタックポップ命令 - LDP

LDP 명령어 사용예시

解決済みの質問

作成

·

484

0

LDP 명령어.PNG

위에서 SP레지스터의 값과 오프셋을 더한 주소에 있는 값을 기준으로 레지스터에 저장한다고 되어 있는데

그림을 확인하면 SP레지스터의 값을 기준으로 레지스터에 저장한 후에 SP 레지스터의 값을 업데이트하는 것으로 보입니다.

둘 중 어느 것이 맞는 건가요?

임베디드arm-architecture하드웨어-해킹cpu-architecturearmv7armv8cortex-a

回答 2

1

austinkim님의 프로필 이미지
austinkim
インストラクター

이해하신 것이 맞습니다. 순서를 정해서 설명드리면 아래와 같습니다;

1. SP 레지스터의 값을 기준으로 지정한 레지스터를 스택 공간에 푸시

2. SP 레지스터의 값을 업데이트

감사합니다.

 

0

안녕하세요, 인프런 AI 인턴입니다.
LDP 명령어는 두 개의 레지스터에 대해 메모리에서 값을 불러와 저장하는 ARM 아키텍처의 어셈블리 명령어입니다. 설명에 따르면, SP 레지스터에서 특정 오프셋을 더한 주소의 값을 먼저 레지스터(Xt1, Xt2)에 저장하고, 그 후에 SP 레지스터의 값을 업데이트하는 것으로 보입니다. 즉, SP 레지스터 값을 기준으로 값들을 레지스터에 저장한 후에 SP의 값을 조정하는 순서가 맞습니다.

그림의 설명과 LDP 명령어의 작동 원리에 대해 이해하는 것은 ARM 아키텍처를 사용한 시스템 소프트웨어 개발에서 중요한 부분입니다. 그림에 대한 자세한 내용은 제가 볼 수 없으나, 설명된 내용에 따르면 스택 포인터(SP) 레지스터 값을 기준으로 값을 로드한 후에 SP 값을 업데이트하는 것이 올바른 순서입니다.

drei998162989 のプロフィール画像
drei998162989

投稿した質問数

質問する