사용자 도구

사이트 도구


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.1788944070.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki