"Cortex-M"의 두 판 사이의 차이

TRACE32
이동: 둘러보기, 검색
 
(같은 사용자에 의한 17개의 중간 편집이 숨겨짐)
2번째 줄: 2번째 줄:
 
<p>&nbsp;</p>
 
<p>&nbsp;</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;">Memory access instructions</span></h3>
+
<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>&nbsp;: 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>&nbsp;: 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 명령에 상수값의 오프셋이 포함된 경우에 대한 설명입니다. pre-indexed, post-indexed 에 대한 설명도 같이 기재되어 있습니다.</span></p>
+
<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;"><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="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;">&nbsp;</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>&nbsp;</p>
 
<p>&nbsp;</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;"><br /></span></p>
+
<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;">Multiply and divide instructions</span></p>
+
<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 instructions</span></p>
+
<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;">Bitfield instructions</span></p>
+
<p style="padding-left: 30px;"><span style="font-family: malgun; font-size: x-small;">MOVT, BFC and BFI : 값 대입, 비트필드 연산에 대한 설명입니다.</span></p>
<p><span style="font-family: malgun; font-size: small;">Miscellaneous instructinos</span></p>
+
<p style="padding-left: 30px;">&nbsp;</p>
<p>&nbsp;</p>
+
<h3><span style="font-size: small;">Miscellaneous instructions</span></h3>
<p>&nbsp;</p>
+
<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>&nbsp;</p>
 
<p>&nbsp;</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 명령에 대한 설명입니다.