2Bit Data Serach : BSER, BSERP
명령 | 사용 가능 영역 | 스텝수 | 플래그 | 사용가능CPU | |||||||||||||||||
M | X | Y | K | L | F | T | C | S | Z | D | @ D | 정수 | 에 러 | 제 로 | 캐 리 | XP | CP | BP | |||
BSER BSERP | S | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | - | ㅇ | ㅇ | ㅇ | ㅇ | 3 | ㅇ | - | - | ㅇ | ㅇ | ㅇ |
D | ㅇ | - | ㅇ | ㅇ | ㅇ | - | ㅇ | ㅇ | - | ㅇ | ㅇ | ㅇ | - |
S | 검색을 원하는 데이터를 지정합니다. |
D | 검색 결과를 저장할 영역의 시작 디바이스를 지정합니다. |
에러(F110) | 영역이 @D로 간접 지정된 경우 영역 초과가 발생하면 SET |
BSER / BSERP
S에 지정된 WORD 디바이스에서 값이 1인 최하위 bit의 위치를 D에 저장하고, 최상위 bit의 위치를 D+1에 저장합니다.
D에는 값이 1을 갖는 최하위 Bit의 위치를 Bit0의 위치(=1)를 기준으로 계산하여 저장합니다.
D+1에는 값이 1을 갖는 최상위 Bit의 위치를 Bit0의 위치(=1)를 기준으로 계산하여 저장합니다.
S로 지정한 데이터에 값이 1인 Bit가 없으면 D와 D+1의 값은 모두 0이 됩니다.
S로 지정한 데이터에 값이 1인 Bit가 1개이면 D와 D+1에는 같은 값이 저장됩니다.
프로그램 예
X0010이 On 되었을 때 M0010에 저장된 데이터중 1로 SET 되어있는 Bit를 검색하여 D0100에 최하위 Bit의 위치를, D0101에 최상위 Bit의 위치를 저장하는 프로그램