Conversion from BCD 4digit and 8digit to decimal ASCII data : BCDDA(P), DBCDDA(P)

명령

사용 가능 영역

스텝수

플래그

M

X

Y

K

L

F

T

C

S

Z

D

@D

정수

에러

제로

캐리

BCDDA(P)

DBCDDA(P)

S

-

3

-

-

D

-

-

-

-

 

 

S

ASCII로 변환될 BCD 데이터

D

변경된 데이터가 저장될 어드레스 중 선두 어드레스

에러(F110)

영역이 @D로 간접 지정된 경우 영역 초과가 발생하면 SET

 

 

BCDDA

 S에 의해서 지정된 어드레스에 있는 BCD 4자리의 번호를 ASCII code로 변환하여 D가 지정된 어드레스로부터 시작하여 저장합니다.

 

 예를 들어 , S에 있는 값이 9105라면 그 결과는 다음과 같이 D에 저장됩니다.

 

 

S의 BCD data의 범위는 0에서 9999입니다.
계산의 결과는 D에 저장되고, 유효한 자리 왼쪽의 모든 0은 20H로 저장됩니다.

 

 D+2에 의해 지정된 어드레스에 저장될 데이터는 "0"이 됩니다.

 

 

DBCDDA

S에 의해 지정된 어드레스에 있는 BCD 8자리의 각각의 번호를 ASCII code로 변환하여 D로 지정된 어드레스에 저장합니다.

 

 예를 들어, S에 있는 값이 01234056 이라면 그 결과는 D에 다음과 같이 저장 됩니다.

 

 S의 BCD data 의 범위는 0 에서 99999999 입니다.
계산의 결과는 D에 저장되고 유효한 자리의 왼쪽에 있는 모든 0은 20H로 처리됩니다.

D+4에 의해 지정된 어드레스에 저장될 데이터는 0이 됩니다.

 

 

 

연산 Error

다음의 경우에는 에러가 발생하며, 에러 Flag가 ON이 되고, Error Code는 F0050에 저장됩니다.

BCDDA 명령 수행 시 데이터가 0에서 9999를 벗어날 경우

DBCDDA 명령 수행 시 데이터가 0에서 99999999를 벗어날 경우

 

 

프로그램 예

X0001이 ON 되었을 때 D0000의 BCD 4 digit를 decimal ASCII를 변화하여 Y0000에 출력하는 프로그램