메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

하드웨어 일반 자료실

8051 DA 명령어

2006.10.09 09:39

WhiteAT 조회 수:19160

출처 : http://control.cntc.ac.kr/cpu/ezboard/ezboard.cgi?db=qa_8051_2000&action=read&page=31&num=760&dbf=200208160002&depth=0


질문은 DA 명령어 질문입니다.
DA  A

이렇게 프로그래밍시에

책을 보니 만약 19와 18을 더하면

16진수로는 31이죠

10진수로는 37이구요

책의 내용은 16진수를 BCD코드 형태로 A로 축력 한다던데

이 BCD 코드가 37이라면 00110111 이렇게

4비트씩 끊어서 출력 되는 건가요

아니면 00100101 이렇게  출력 되는건가요?

제 생각엔 전자쪽 인거 같구요

그리고 DA명령어는 곱셈MUL 명령어 다음에

도 사용할수 있을지 궁금합니다.

책에는 뺄셈 연산은 사용할수 없다라고 씌여져 있네요

답변 부탁드립니다.

=====================================================================

한인수 님께

    대부분의 마이크로프로세서에서는 덧셈과 뺄셈의 결과를 이 명령으로 10진 보정합니다. IBM PC의 CPU인 80X86에서는 곱셈후에 10진 보정하는 명령도 있지요.
    하지만, 8051에서는 덧셈을 수행한 후에만 10진 보정이 됩니다. 다른 어느 경우에도 이 명령은 유효하지 않습니다. 거듭 강조하지만 8051은 특히 연산 기능에 관한한 아주 거지같은 마이크로프로세서입니다...