사용자 도구

사이트 도구


products:mpino_studio2:box_functions:bit_operations

문서의 이전 판입니다!


MPINO STUDIO 2 Phase 4-6 · 비트연산 박스함수

WORD의 각 비트를 논리 연산하거나 이동ㆍ회전하는 명령을 설명합니다.

WORD의 각 비트를 논리 연산하거나 이동ㆍ회전하는 명령을 설명합니다.

WANDㆍSHLㆍROL의 입력 형태를 비교한 실제 래더 화면입니다.

WANDㆍSHLㆍROL의 입력 형태를 비교한 실제 래더 화면입니다.

박스함수 입력값과 실행 결과 예시

1. 공통 규칙

비트연산 명령은 WORD의 16개 비트를 한 번에 계산합니다. 시프트는 바깥으로 밀려난 비트를 버리고 빈자리를 0으로 채우며, 회전은 밀려난 비트를 반대쪽으로 다시 넣습니다.

2. WANDㆍWORㆍWXOR

WAND

비트 AND (Word AND)

두 WORD의 각 비트를 AND 연산하여 대상에 저장합니다.

입력 형식: WAND D0 D1 D2

실행 조건 실행 전 입력한 명령 예상 결과
왼쪽 조건 ON D0=0x00CC, D1=0x00AA WAND D0 D1 D2 D2=0x0088

WOR

비트 OR (Word OR)

두 WORD의 각 비트를 OR 연산하여 대상에 저장합니다.

입력 형식: WOR D0 D1 D2

실행 조건 실행 전 입력한 명령 예상 결과
왼쪽 조건 ON D0=0x00CC, D1=0x00AA WOR D0 D1 D2 D2=0x00EE

WXOR

비트 XOR (Word XOR)

두 WORD의 각 비트를 XOR 연산하여 대상에 저장합니다.

입력 형식: WXOR D0 D1 D2

실행 조건 실행 전 입력한 명령 예상 결과
왼쪽 조건 ON D0=0x00CC, D1=0x00AA WXOR D0 D1 D2 D2=0x0066

3. WNOT

비트 NOT (Word NOT)

소스 WORD의 각 비트를 반전하여 대상에 저장합니다.

입력 형식: WNOT D0 D1

인수

  • 1번째 = S: 반전할 소스 주소 또는 상수
  • 2번째 = D: 결과 저장 주소
실행 조건 실행 전 입력한 명령 예상 결과
왼쪽 조건 ON D0=0x00CC WNOT D0 D1 D1=0xFF33

4. SHLㆍSHR

SHL

논리 왼쪽 시프트 (Shift Left)

WORD를 왼쪽으로 시프트하여 대상에 저장합니다. 왼쪽으로 빠진 비트는 버리고 오른쪽 빈자리는 0으로 채웁니다. 이동 수는 0 ~ 15를 사용합니다.

입력 형식: SHL D0 2 D1

인수

  • 1번째 = 소스: 정수 WORD 주소
  • 2번째 = 이동 수: 0 ~ 15
  • 3번째 = 대상: 결과 저장 주소
실행 조건 실행 전 입력한 명령 예상 결과
왼쪽 조건 ON D0=0x0003 SHL D0 2 D1 D1=0x000C

SHR

논리 오른쪽 시프트 (Shift Right)

D WORD를 오른쪽으로 논리 시프트하여 대상에 저장합니다. 오른쪽으로 빠진 비트는 버리고 왼쪽 빈자리는 0으로 채웁니다.

입력 형식: SHR D0 1 D1

인수

  • 1번째 = 소스: D WORD 주소
  • 2번째 = 이동 수: 0 ~ 15
  • 3번째 = 대상: 결과 저장 주소
실행 조건 실행 전 입력한 명령 예상 결과
왼쪽 조건 ON D0=0x000C SHR D0 1 D1 D1=0x0006

5. ROLㆍROR

ROL

왼쪽 회전 (Rotate Left)

DㆍCㆍT WORD를 왼쪽으로 회전하여 대상에 저장합니다. 왼쪽으로 빠진 비트는 오른쪽 끝으로 다시 들어옵니다.

입력 형식: ROL D0 2 D1

인수

  • 1번째 = 소스: DㆍCㆍT WORD 주소
  • 2번째 = 회전 수
  • 3번째 = 대상: DㆍCㆍT WORD 주소
실행 조건 실행 전 입력한 명령 예상 결과
왼쪽 조건 ON D0=0x8001 ROL D0 2 D1 D1=0x0006

ROR

오른쪽 회전 (Rotate Right)

DㆍCㆍT WORD를 오른쪽으로 회전하여 대상에 저장합니다. 오른쪽으로 빠진 비트는 왼쪽 끝으로 다시 들어옵니다.

입력 형식: ROR D0 1 D1

인수

  • 1번째 = 소스: DㆍCㆍT WORD 주소
  • 2번째 = 회전 수
  • 3번째 = 대상: DㆍCㆍT WORD 주소
실행 조건 실행 전 입력한 명령 예상 결과
왼쪽 조건 ON D0=0x0003 ROR D0 1 D1 D1=0x8001

6. 문제해결방법

증상 확인할 항목
오른쪽 시프트에 부호 비트가 채워지지 않습니다. SHR은 상위 빈자리를 0으로 채우는 논리 시프트입니다.
시프트 뒤 비트가 사라졌습니다. 비트를 보존하려면 SHLㆍSHR 대신 ROLㆍROR을 사용합니다.

관련 문서

products/mpino_studio2/box_functions/bit_operations.1788947072.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki