BIN 사칙연산(곱셈) : WMUL, WMULP, DWMUL, DWMULP
명령 | 사용 가능 영역 | 스텝수 | 플래그 | 사용가능CPU | |||||||||||||||||
M | X | Y | K | L | F | T | C | S | Z | D | @ D | 정수 | 에 러 | 제 로 | 캐 리 | XP | CP | BP | |||
WMUL(P) DWMUL(P) | S1 | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | - | ㅇ | ㅇ | ㅇ | ㅇ | 4 | ㅇ | - | - | ㅇ | ㅇ | ㅇ |
S2 | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | - | ㅇ | ㅇ | ㅇ | ㅇ | ||||||||
D | ㅇ | - | ㅇ | ㅇ | ㅇ | - | ㅇ | ㅇ | - | ㅇ | ㅇ | ㅇ | - |
S1, S2 | 지정된 데이터 또는 영역의 번호 |
D | Destination 영역의 번호 |
에러(F110) | 영역이 @D로 간접 지정된 경우 영역 초과가 발생하면 SET 연산된 결과값이 D로 지정된 영역의 데이터 범위를 벗어날 경우 SET |
WMUL
S1으로 지정된 워드 데이터와 S2로 지정된 워드 데이터를 곱셈하여 D로 지정된 영역에 워드데이터 형태로 저장합니다.
연산결과가 -32,768 ~ 32,767 범위를 벗어나는 경우 연산을 하지 않으며 에러플래그(F110)를 SET합니다.
프로그램
입력신호 X0000이 ON 되었을 때 D0010의 워드데이터와 D0020의 워드데이터를 곱셈하여 D0040에 워드데이터의 결과를 저장하는 프로그램
DWMUL
S1으로 지정된 더블워드 데이터와 S2로 지정된 더블워드 데이터를 곱하여 D로 지정된 영역에 더블워드데이터 형태로 저장합니다.
연산결과가 -2,147,483,648 ~ 2,147,483,647 범위를 벗어나는 경우 연산을 하지 않으며 에러플래그(F110)를 SET합니다.
프로그램
입력신호 X0001이 ON 되었을 때 D0000의 더블워드데이터와 D0010의 더블워드데이터를 곱하여 D0020에 더블워드데이터의 결과를 저장하는 프로그램