Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cubloc:laddernumber:index [2026/03/25 03:33] – [수 시스템 (Number System)] admincubloc:laddernumber:index [2026/03/25 03:38] (current) – [잘못된 사용 예시] admin
Line 15: Line 15:
 | 워드 (Word) | 16-bit | 0 ~ 65,535 | 0000H ~ FFFFH | | 워드 (Word) | 16-bit | 0 ~ 65,535 | 0000H ~ FFFFH |
 | 더블워드 (D-Word) | 32-bit | 0 ~ 2,147,418,111 | 00000000H ~ 7FFEFFFFH | | 더블워드 (D-Word) | 32-bit | 0 ~ 2,147,418,111 | 00000000H ~ 7FFEFFFFH |
- 
-> **중요 알림:** 워드(Word)와 더블워드(D-Word) 모두 **양수(Unsigned)** 처리를 권장합니다. 특히 더블워드는 시스템 예약 주소 영역(0x7FFF1000 이상)을 침범하지 않도록 상한치 **0x7FFEFFFF** 이내에서만 사용해야 합니다. 
  
 ===== 3. 상한치 제한 ===== ===== 3. 상한치 제한 =====
Line 22: Line 20:
 ==== 시스템 예약 주소와의 충돌 ==== ==== 시스템 예약 주소와의 충돌 ====
   * **0x7FFF1000 ~ 0x7FFFFFFF** 영역은 하드웨어 입출력 포트(P0, WP0 등)를 제어하기 위한 **Memory-Mapped I/O** 주소로 예약되어 있습니다.   * **0x7FFF1000 ~ 0x7FFFFFFF** 영역은 하드웨어 입출력 포트(P0, WP0 등)를 제어하기 위한 **Memory-Mapped I/O** 주소로 예약되어 있습니다.
-  * **음수(2의 보수사용 금지:** 를 표현하기 위해 최상위 비트(MSB)를 1로 설정할 경우(예: 0x80000000 이상), 시스템은 이를 숫자가 아닌 시스템 예약 주소로 오인여 연산 오류나 하드웨어 오작동을 일으킵니다.  +  * ** 워드(Word)와 더블워드(D-Word모두 **수(Unsigned)** 처리를 권장합니다. 특히 더블워드는 시스템 예약 주소 영역(0x7FFF1000 이상)을 침범지 않도록 상한치 **0x7FFEFFFF** 이서만 사해야 합니다.
-  따라서, 음수 연산이 필요한 경우 수치 자체에 부호를 붙이지 말고, 별도의 D영역을 활하여 부호 플래그(0:양수, 1:음수)를 관리하는 로직을 권장합니다.+
  
-==== 연산 주의 ==== 
-  * 연산 결과값이 **2,147,418,111 (0x7FFEFFFF)**를 초과하게 되면 시스템 내부 주소와 겹치게 되어 데이터 왜곡이 발생합니다. 
-  * 입력 및 연산 과정에서 이 상한치를 초과하지 않도록 사전에 로직 상에서 필터링이 필요합니다. 
  
 ==== 잘못된 사용 예시 ==== ==== 잘못된 사용 예시 ====
Line 44: Line 38:
 {{ :cubloc:laddernumber:dwval2.png?nolink |}} {{ :cubloc:laddernumber:dwval2.png?nolink |}}
  
-[[cubloc:index#더_로직:|CUBLOC 더로직 목록으로 가기]]+[[cubloc:index#더_로직:|CUBLOC 더로직 목록으로 가기]]