Cortex-M
* 계속 업데이트 중 입니다. 링크를 통하여 해당 문서로 이동하실 수 있습니다. *
목차
Cortex-M instruction set
Branch instructions
B, BL, BX and BLX : Branch, Branch with Link 등 각종 분기문에 대한 설명입니다.
CBZ and CBNZ : Thumb-II에서만 사용되는 Compare and Branch 에 대한 설명입니다.
Load and store instructions
LDR and STR basic form : LDR/STR 명령의 기본 설명입니다.
LDR and STR, data width : 바이트(8-bit), 하프워드(16-bit), 워드(32-bit) 단위로 동작하는 LDR/STR 명령에 대한 설명입니다.
LDR and STR, immediate offset : "LDR R0, [R13,#0x48]" 과 같이 LDR/STR 명령에 상수값의 오프셋이 포함된 경우에 대한 설명입니다.
LDR and STR, register offset : "STR R0, [R2, R4]" 와 같이 LDR/STR 명령에 레지스터값의 오프셋이 포함된 경우에 대한 설명입니다.
Load Multiple and Store Multiple instructions
LDM and STM : 여러개의 데이터를 한번에 복사하는 load/store multiple에 대한 설명입니다.
PUSH and POP : full-descending 방식의 스택 메모리에 여러 레지스터 값을 쓰거나 읽어오는 PUSH, POP 명령에 대한 설명입니다.
General data processing instructions
ADD, ADC, SUB, SBC and RSB : 더하기, 빼기 등의 기본적인 레지스터 연산에 대한 설명입니다.
AND, ORR, EOR, BIC and ORN : AND, OR, XOR 등 비트 연산에 대한 설명입니다.
MUL, MLA, MLS, SMLAL, SMULL, UMLAL and UMULL : 곱셈 연산에 대한 설명입니다.
SDIV and UDIV : 나눗셈 연산에 대한 설명입니다.
SSAT and USAT : Saturating 명령에 대한 설명입니다.
MOVT, BFC and BFI : 값 대입, 비트필드 연산에 대한 설명입니다.
Miscellaneous instructions
IT : Thumb-II의 특이한 명령중 하나인, If-Then 명령에 대한 설명입니다.