[ARM] "movs pc, lr" , "subs pc, lr, #4" 명령어: ARM 프로세서의 모드 변경
Post
원문 보기 →[ARM] "movs pc, lr" , "subs pc, lr, #4" 명령어: ARM 프로세서의 모드 변경
ARM 어셈블리 명령어를 분석하다보면 movs와 subs와 같이 명령어 뒷 부분에 's'와 같은 접미사가 보입니다.이런 접미사가 붙으면 원래 명령어의 기본 동작과 함께, 해당 모드의 SPSR_mode 레지스터의 값을 CPSR 레지스터에 저장하는 동작을 아토믹하게 수행합니다. 보통 "movs pc, lr" 혹은 "subs pc, lr, #4" 명령어가 수행되면 ARM 프로세서의 모드가 바뀌게 됩니다.이번 포스팅에서는 익셉션 벡터에서 실행되는 레이블의 코드를 분석하면서 movs 명령어의 동작 원리에 대해 설명하겠습니다. 익셉션 벡터가 실행되는 레이블 User 모드나 Supervisor 모드에서 인터럽트가 발생했을 때 익셉션 벡터 테이블의 시작 주소 기준으로 0x18 오프셋에 있는 주소로 프로그램 카운터가


![[웹툰단행본] 『통제구역관리부』 1권 후기 : 이상한 변칙과 기이한 일들이 일어나는 공간에 대하여](https://img.zoomtrend.com/2026/06/09/1780996474-SE-5eda86fa-0d63-4afd-b8dd-b801879fed52.jpg)
