BCD 4자리, 8자리 평방근 : BSQR, BSQRP, BDSQR, BDSQRP
명령 | 사용 가능 영역 | 스텝수 | 플래그 | 사용가능CPU | |||||||||||||||||
M | X | Y | K | L | F | T | C | S | Z | D | @ D | 정수 | 에 러 | 제 로 | 캐 리 | XP | CP | BP | |||
BSQR(P) BDSQR(P) | S | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ | - | - | - | - | ㅇ | ㅇ | ㅇ | ㅇ | 3 | ㅇ | - | - | ㅇ | - | - |
D | ㅇ | - | ㅇ | ㅇ | ㅇ | - | - | - | - | ㅇ | ㅇ | ㅇ | ㅇ |
S | 평방근 연산을 할 값 또는 디바이스 번지 |
D | 연산 결과를 저장할 디바이스 번지 |
에러(F110) | S로 지정된 값이 BCD 데이터가 아닐 때 |
BSQR(P)
S로 지정된 값을 평방근 연산하여 D로 지정된 영역에 저장합니다.
S로 지정된 값은 BCD값으로 0부터 9999사이의 값입니다.
D , D+1 의 값은 각각 BCD값으로 0~9999를 저장합니다.
연산 결과는 소수부 5번째 자리를 반올림한 값이 됩니다. 따라서 소수부 4번째 자리는 1의 오차가 발생합니다.
프로그램 예
평방근 연산을 할 BCD데이터 1234를 D00090에 저장합니다.
D00090의 데이터를 평방근 연산하여 D00100에 저장합니다.
연산결과의 정수부는 D00100에 소수부는 D00101에 저장되니다.
BDSQR(P)
S로 지정된 값을 평방근 연산하여 D로 지정된 영역에 저장합니다.
S , S+1로 지정된 값은 BCD값으로 0부터 99999999사이의 값입니다.
D , D+1 의 값은 각각 BCD값으로 0~9999를 저장합니다.
연산 결과는 소수부 5번째 자리를 반올림한 값이 됩니다. 따라서 소수부 4번째 자리는 1의 오차가 발생합니다.
프로그램 예
평방근 연산을 할 BCD데이터 12345678 를 D00090에 저장합니다.
D00090의 데이터를 평방근 연산하여 D00100에 저장합니다.
연산결과의 정수부는 D00100에 소수부는 D00101에 저장됩니다.