Conversion from decimal ASCII to BIN 16Bit and 32Bit data : DABIN(P), DDABIN(P)

명령

사용 가능 영역

스텝수

플래그

M

X

Y

K

L

F

T

C

S

Z

D

@D

정수

에러

제로

캐리

DABIN(P)

DDABIN(P)

S

-

3

-

-

D

-

-

-

-

 

 

S

BIN으로 변경될 ASCII data가 저장될 어드레스 중 선두 어드레스

D

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

에러(F110)

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

 

 

DABIN

 S에 의해서 지정된 어드레스에 있는 decimal ASCII data를 D로 지정된 어드레스에 BIN 16-Bit data로 저장합니다.

 

 예를 들어 S의 ASCII code가 –25018H이면, 그 연산 결과는 다음과 같은 결과로 D에 저장됩니다.

 

 

S 와 S+2에 지정된 ASCII data는 -32768 에서 32767 의 범위에 있습니다.
Data가 양수이면 부호는 20H(space), 음수이면 2DH(-)가 저장됩니다.
ASCII code의 범위는 30H 에서 39H 사이에서는 어떤 각각의 위치도 설정 될 수 없습니다.
ASCII code의 각각의 위치가 20H나 00H 라면 그것은 30H로 처리됩니다.

 

프로그램

Decimal 5자리 ASCII data 그리고 D0000 에서 D0002 까지의 설정된 sign 을 Bin 으로 바꾸어 D0020에 결과를 저장하는 프로그램

 

 

 

DDABIN

S에 의해서 지정된 어드레스에 있는 Decimal ASCII data를 D로 지정된 어드레스에 BIN 32bit data로 저장합니다.

 

 예를 들어 S의 ASCII code가 -123454321 이면, 그 결과는 다음과 같은 결과로 D+1과 D에 저장됩니다.

 

 

S 와 S+5에 지정된 ASCII data는 -2147483648 에서 2147483647의 범위에 있습니다.
추가로 S+5의 상위 byte에 저장되는 data는 무시합니다.
변환된 data의 값이 양수 이면 부호는 20H(space)가 되고, 음수 이면 2DH(-)가 됩니다.
ASCII code의 범위는 30H 에서 39H 사이에서는 어떤 각각의 위치도 설정 될 수 없습니다.
ASCII code 각각의 위치가 20H나 00H 라면 그것은 30H로 처리됩니다.

 

 

연산 Error

다음의 경우에는 에러가 발생하며, 에러 Flag가 ON이 되고, Error code는 F0050에 저장됩니다.
S 에서 S+5 의 ASCII code가 30H로부터 39H와 20H 또는 00H 가 아닐 경우 에러 발생
S 에서 S+5 의 ASCII data가 범위를 벗어났을 경우 

 

프로그램 예

Decimal 10자리 ASCII data 그리고 D0000~D0005 까지 설정된 sign 을 BIN으로 바꾸어 D0020 과 D0021에 결과를 저장하는 프로그램