블록 비교 연산 명령 : BK x (x:=,<,>,<=,>=,<>)
명령 | 사용 가능 영역 | 스텝수 | 플래그 | 사용가능CPU | |||||||||||||||||
M | X | Y | K | L | F | T | C | S | Z | D | @ D | 정수 | 에 러 | 제 로 | 캐 리 | XP | CP | BP | |||
BK(P) | S1 | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | - | ㅇ | ㅇ | ㅇ | ㅇ | 6 | ㅇ | - | - | ㅇ | ㅇ | - |
S2 | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | - | ㅇ | ㅇ | ㅇ | - | ||||||||
D1 | ㅇ | - | ㅇ | ㅇ | ㅇ | - | - | - | - | ㅇ | ㅇ | ㅇ | - | ||||||||
D2 | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | - | ㅇ | ㅇ | ㅇ | ㅇ | ||||||||
n | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | - | ㅇ | ㅇ | ㅇ | ㅇ |
S1 | 지정된 데이터 또는 영역의 번호 |
S2 | 비교할 데이터가 지정된 영역 번호 |
D1 | 블록 비교 결과를 저장할 영역 번호 |
D2 | 블록 비교 결과를 저장할 영역의 선두 비트 번호 |
n | 비교할 블록의 수 |
에러(F110) | 영역이 @D로 지정된 경우 영역 초과가 발생하면 SET |
BK
S1으로 지정된 n개의 워드 데이터와 S2로 지정된 n개의 워드 데이터를 비교 하여 그 결과를 D1로 지정된 영역의 D2번째 비트부터 순서대로 저장합니다.
비교결과가 참이면, D에 지시된 각 비트가 ON이 됩니다.
비교결과가 거짓이면, D에 지시된 각 비트가 OFF가 됩니다.
비교 연산은 워드 단위로 이루어집니다.
S1은 –32768 ~ 32767인 값을 갖습니다.
각각의 명령에 따른 비교연산의 결과
기능
명령어 | 조건 | 비교연산결과 | 명령어 | 조건 | 비교연산결과 |
BK= | s1 = s2 | ON(1) | BK= | s1 ≠ s2 | OFF(0) |
BK<> | s1 ≠ s2 | BK<> | s1 = s2 | ||
BK> | s1 > s2 | BK> | s1 ≤ s2 | ||
BK<= | s1 ≤ s2 | BK<= | s1 > s2 | ||
BK< | s1 < s2 | BK< | s1 ≥ s2 | ||
BK>= | s1 ≥ s2 | BK>= | s1 < s2 |
프로그램 예
X0001이 On 되었을 때 D0000부터 3개의 워드 데이터와, D0100부터 3개의 워드 데이터를 각각 비교하여 D0000부터 3개의 워드 데이터가 클 경우 그 결과를 M0012번지부터 차례로 SET 하는 프로그램