inflearn logo
강의

講義

知識共有

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

5.4.3 実習: アボート モード (データ アボート) からスーパーバイザー モードへの変更の実習 (TRACE32)

MOVS 명령어 질문

315

grapesgun0624

投稿した質問数 20

0

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

 

임베디드 arm-architecture microprocessors cortex-a

回答 2

0

grapesgun0624

답변 감사합니다.

0

austinkim

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

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

 

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

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

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

 

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

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

 

감사합니다.

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

0

40

2

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

0

69

2

책관련 질문드려요

0

69

2

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

0

62

2

3.2.1.4 실습과 관련한 질문

0

72

2

Arm Architecture 관련 공부

0

52

1

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

0

58

2

3.2.2.4 모드 복귀 부분

0

143

2

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

0

155

2

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

0

140

2

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

0

160

2

TRACE32 사용 실습에서 RASPIAN KERNEL DEBUG

0

270

2

강의 내용 짤린건가요?

0

270

1

TRACE32 프로그램

0

340

1

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

0

262

1

강의 자료 관련 문의

0

262

1

강의자료

0

233

2

강의하신 강의자료

0

249

1

CMP 명령어 예제 중

0

293

1

MVN 명령어 사용이유 질문

0

354

1

여러 가지 질문

0

347

2

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

0

349

1

ARMv7 범용레지스터

0

435

1

강의록 문의사항

0

295

2