MOVS 명령어 질문
315
投稿した質問数 20
안녕하세요. "MOVS PC, LR" 명령어 수행시에 무조건 SVC모드로만 전환되는 것인지 아니면 다른 모드로도 전환될수 있는 것인지 궁금합니다.
回答 2
0
네, 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

