"Cortex-M"의 두 판 사이의 차이
(같은 사용자에 의한 18개의 중간 편집이 숨겨짐) | |||
2번째 줄: | 2번째 줄: | ||
<p> </p> | <p> </p> | ||
<h2><span style="font-size: small; font-family: malgun;">Cortex-M instruction set</span></h2> | <h2><span style="font-size: small; font-family: malgun;">Cortex-M instruction set</span></h2> | ||
− | <h3><span style="font-family: malgun; font-size: small;"> | + | <h3><span style="font-family: malgun; font-size: small;">Branch instructions</span></h3> |
− | <p><span style="color: #000000; font-size: small; font-family: malgun;"><strong><a style="font-family: malgun;" href="/wiki/index.php/LDR_and_STR">LDR and STR basic form</a></strong> : LDR/STR 명령의 기본 설명입니다.</span></p> | + | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;"><strong><a href="/wiki/index.php/B,_BL,_BX_and_BLX">B, BL, BX and BLX</a></strong> : Branch, Branch with Link 등 각종 분기문에 대한 설명입니다.</span></p> |
− | <p><span style="font-family: malgun; font-size: small;"><strong><a href="/wiki/index.php/LDR_and_STR,_data_width">LDR and STR, data width</a></strong> : 바이트(8-bit), 하프워드(16-bit), 워드(32-bit) 단위로 동작하는 LDR/STR 명령에 대한 설명입니다.</span></p> | + | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;"><strong><a href="/wiki/index.php/CBZ_and_CBNZ">CBZ and CBNZ</a></strong> : Thumb-II에서만 사용되는 Compare and Branch 에 대한 설명입니다.</span></p> |
− | <p><span style="font-size: small; font-family: malgun;"><span style="color: #000000;"><strong><a href="/wiki/index.php/LDR_and_STR,_immediate_offset">LDR and STR, immediate offset</a></strong> : "</span>LDR R0, [R13,<span style="color: #ff9900;">#0x48</span>]" 과 같이 LDR/STR 명령에 상수값의 오프셋이 포함된 경우에 대한 설명입니다 | + | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;"><br /></span></p> |
− | <p><span style="font-size: small; font-family: malgun;"><span style="color: #000000;"><strong><a href="/wiki/index.php/LDR_and_STR,_register_offset">LDR and STR, register offset</a></strong> : "STR R0</span>, [R2, <span style="color: #ff9900;">R4</span>]" 와 같이 LDR/STR 명령에 레지스터값의 오프셋이 포함된 경우에 대한 설명입니다.</span></p> | + | <h3><span style="font-family: malgun; font-size: small;">Load and store instructions</span></h3> |
− | <p><span style="font-family: malgun; font-size: small;">LDM and STM : | + | <p style="padding-left: 30px;"><span style="color: #000000; font-size: small; font-family: malgun;"><strong><a style="font-family: malgun;" href="/wiki/index.php/LDR_and_STR">LDR and STR basic form</a></strong> : LDR/STR 명령의 기본 설명입니다.</span></p> |
− | <p><span style="font-family: malgun; font-size: small;">PUSH and POP :</span></p> | + | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;"><strong><a href="/wiki/index.php/LDR_and_STR,_data_width">LDR and STR, data width</a></strong> : 바이트(8-bit), 하프워드(16-bit), 워드(32-bit) 단위로 동작하는 LDR/STR 명령에 대한 설명입니다.</span></p> |
+ | <p style="padding-left: 30px;"><span style="font-size: small; font-family: malgun;"><span style="color: #000000;"><strong><a href="/wiki/index.php/LDR_and_STR,_immediate_offset">LDR and STR, immediate offset</a></strong> : "</span>LDR R0, [R13,<span style="color: #ff9900;">#0x48</span>]" 과 같이 LDR/STR 명령에 상수값의 오프셋이 포함된 경우에 대한 설명입니다.</span></p> | ||
+ | <p style="padding-left: 30px;"><span style="font-size: small; font-family: malgun;"><span style="color: #000000;"><strong><a href="/wiki/index.php/LDR_and_STR,_register_offset">LDR and STR, register offset</a></strong> : "STR R0</span>, [R2, <span style="color: #ff9900;">R4</span>]" 와 같이 LDR/STR 명령에 레지스터값의 오프셋이 포함된 경우에 대한 설명입니다.</span></p> | ||
+ | <p style="padding-left: 30px;"> </p> | ||
+ | <h3><span style="font-size: small; font-family: malgun;">Load Multiple and Store Multiple instructions</span></h3> | ||
+ | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;"><strong><a href="/wiki/index.php/LDM_and_STM">LDM and STM</a></strong> : 여러개의 데이터를 한번에 복사하는 load/store multiple에 대한 설명입니다.</span></p> | ||
+ | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;"><strong><a href="/wiki/index.php/PUSH_and_POP">PUSH and POP</a></strong> : full-descending 방식의 스택 메모리에 여러 레지스터 값을 쓰거나 읽어오는 PUSH, POP 명령에 대한 설명입니다.</span></p> | ||
<p> </p> | <p> </p> | ||
<h3><span style="font-family: malgun; font-size: small;">General data processing instructions</span></h3> | <h3><span style="font-family: malgun; font-size: small;">General data processing instructions</span></h3> | ||
− | <p><span style="font-family: malgun; font-size: small;">ADD, ADC, SUB, SBC and RSB</span></p> | + | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;"><strong><a href="/wiki/index.php/ADD,_ADC,_SUB,_SBC_and_RSB">ADD, ADC, SUB, SBC and RSB</a></strong> : 더하기, 빼기 등의 기본적인 레지스터 연산에 대한 설명입니다.</span></p> |
− | <p><span style="font-family: malgun; font-size: small;">AND, ORR, EOR, BIC and ORN</span></p> | + | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;"><strong><a href="/wiki/index.php/AND,_ORR,_EOR,_BIC_and_ORN">AND, ORR, EOR, BIC and ORN</a></strong> : AND, OR, XOR 등 비트 연산에 대한 설명입니다.</span></p> |
− | <p><span style="font-family: malgun; font-size: small;"> | + | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;">MUL, MLA, MLS, SMLAL, SMULL, UMLAL and UMULL : 곱셈 연산에 대한 설명입니다.</span></p> |
− | <p><span style="font-family: malgun; font-size: small;"> | + | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;">SDIV and UDIV : 나눗셈 연산에 대한 설명입니다.</span></p> |
− | <p><span style="font-family: malgun; font-size: small;">Saturating | + | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: small;">SSAT and USAT : Saturating 명령에 대한 설명입니다.</span></p> |
− | <p><span style="font-family: malgun; font-size: small;"> | + | <p style="padding-left: 30px;"><span style="font-family: malgun; font-size: x-small;">MOVT, BFC and BFI : 값 대입, 비트필드 연산에 대한 설명입니다.</span></p> |
− | <p | + | <p style="padding-left: 30px;"> </p> |
− | <p> | + | <h3><span style="font-size: small;">Miscellaneous instructions</span></h3> |
− | < | + | <p style="padding-left: 30px;"><span style="font-size: small;"><strong><a href="/wiki/index.php/If-Then">IT</a></strong> : Thumb-II의 특이한 명령중 하나인, If-Then 명령에 대한 설명입니다.</span></p> |
<p> </p> | <p> </p> | ||
<p><span style="font-family: malgun; font-size: small;"><br /></span></p> | <p><span style="font-family: malgun; font-size: small;"><br /></span></p> |
2015년 8월 29일 (토) 07:49 기준 최신판
* 계속 업데이트 중 입니다. 링크를 통하여 해당 문서로 이동하실 수 있습니다. *
목차
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 명령에 대한 설명입니다.