inflearn logo
강의

Course

Instructor

Structure and Principles of Arm Architecture for System Software Development - Part 2 Author's Lecture (2024 Version)

Stack pop instruction - LDP

LDP 명령어 사용예시

Resolved

540

drei998162989

5 asked

0

LDP 명령어.PNG

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

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

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

임베디드 arm-architecture 하드웨어-해킹 cpu-architecture armv7 armv8 cortex-a

Answer 2

1

austinkim

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

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

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

감사합니다.

 

0

communityai8509

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

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

00. 인버터 회로만 보고 소비전력을 예측 가능하나요 ?

0

5

0

58강, 유니폴라, 바이폴라 방식중 바이폴라가 대세라고 보면 되나요 ?

0

6

1

57강. 모터인데 왜 전압제어를 하나요 ?

0

9

2

57강. PWM은 sine을 만들어 내는 걸로 이해 하면 되나요 ?

0

11

2

49강. 제어이론의 구체적 다이어그램 설명 요청드립니다.

0

11

2

55강. dead time을 고려하면, 원래의 original신호와는 달라지지 않나요 ?

0

8

2

스택에 PUSH되는 PC 값

0

100

2

스택공간에 데이터를 저장할 떄

0

156

2

LDM

0

115

1

TRACE32 debugging

0

123

1

interrupt service

0

117

2

vbar register

0

76

1

vbar register

0

84

2

System call register

0

96

2

GIC programmer model

0

129

1

exception handler code

0

112

2

arm mode

0

143

2

exception vector table

0

101

1

exception 문제

0

107

1

exception handler 구현

0

128

2

Exception Level 설정 관련 질문

0

171

2

Current EL 관련 질문

1

211

1

강의자료 요청

0

332

2

익셉션 벡터 베이스 주소 질문

0

361

1