inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부 저자 직강 (2024년 버전)

5.4.3 실습: 어보트 모드(데이터 어보트)에서 슈퍼바이저 모드 변경 실습 (TRACE32)

MOVS 명령어 질문

376

토끼야놀자

작성한 질문수 20

0

안녕하세요. "MOVS PC, LR" 명령어 수행시에 무조건 SVC모드로만 전환되는 것인지 아니면 다른 모드로도 전환될수 있는 것인지 궁금합니다.

 

임베디드 arm-architecture microprocessors cortex-a

답변 2

0

토끼야놀자

답변 감사합니다.

0

김동현 (Austin Kim)

네, Supervisor(SVC) 모드 이외에 다른 동작 모드로 스위칭할 수 있습니다.

동작 모드를 바꾸는 동작은 다음과 같은데요;

 

1. SPSR_<mode> 레지스터의 M[4:0] 비트에 변경하려는 동작 모드의 비트값을 저장

2. LR(R14) 레지스터에 동작 모드가 변경되면서 분기할 주소를 업데이트

3. 'SUBS PC, LR, #4' 혹은 'MOVS PC, LR' 명령어를 실행

 

SPSR_<mode> 레지스터의 M[4:0] 비트에 변경하려는 동작 모드의 비트값을 저정하면 됩니다.

혹시 추가로 다른 궁금한 점이 있으면 질문 남겨주세요.

 

감사합니다.

Armv7 vs Armv8 학습 방향

0

31

1

5장 Armv7 동작모드와 6장 Armv8 익셉션 레벨 차이

0

101

2

시스템 소프트웨어 직무 관련 질문드려요

0

128

2

책관련 질문드려요

0

117

2

4.2.1. 실습을 어떻게 진행하는것인가요?

0

96

2

3.2.1.4 실습과 관련한 질문

0

104

2

Arm Architecture 관련 공부

0

83

1

유저 모드 뱅크드 레지스터 질문입니다

0

89

2

3.2.2.4 모드 복귀 부분

0

179

2

Armv8의 Exception Level에서 질문이 있습니다.

0

181

2

5.4.3 실습에서 궁금한점이 있습니다.

0

177

2

리눅스 커널 동작 모드별 스택 포인터 초기화

0

202

2

TRACE32 사용 실습에서 RASPIAN KERNEL DEBUG

0

311

2

강의 내용 짤린건가요?

0

296

1

TRACE32 프로그램

0

369

1

[3.2.2.4] Exception 발생시 CPSR <-> SPSR의 동작 질문

0

292

1

강의 자료 관련 문의

0

288

1

강의자료

0

265

2

강의하신 강의자료

0

286

1

CMP 명령어 예제 중

0

331

1

MVN 명령어 사용이유 질문

0

389

1

여러 가지 질문

0

383

2

ADC, SBC 어셈블리 명령어(4.2.2.4강)

0

374

1

ARMv7 범용레지스터

0

464

1