Field |
Description |
f |
Register file address (0x00 to 0x7F) |
W |
Working register (accumulator) |
b |
Bit address within an 8-bit file register |
k |
Literal field, constant data or label |
x |
Don't care location (= 0 or 1). The assembler will generate code with x = 0. It is the recommended form of use for compatibility with all Microchip software tools. |
d |
Destination select; d = 0: store result in W, d = 1: store result in file register f. Default is d = 1. |
PC |
Program Counter |
/TO |
Time-out bit |
C |
Carry bit |
DC |
Digit carry bit |
Z |
Zero bit |
/PD |
Power-down bit |
캐리가 뭔지는 안다.
이진수 1 + 1하면 캐리 1이고 값은 0.
그거 표시하려고 carry bit가 있는 것이라고 생각된다.
그럼 digit carry bit는 왜 있는거지? 이건 뭐지?
====================================================================================
아래와 같이 답이 달렸다.
====================================================================================
고장난우주선 2009/05/31 16:12
저도 궁금해서 검색좀 해봤는데요.
Digit Carry는 10진수에서 한지리 올라갈때 발생하는 자릿수 올림수 인거 같습니다.
Device를 정확히 모르겠으나.
PIC16F946 Datasheet를 보면.
STATUS<1> DC: A carry-out from the 4th low-order bit of the result occurred
STATUS<0> C: A carry-out from the Most Significant bit of the result occurred
이렇게 나와 있습니다.
Carry는 MSB에서 발생한 올림수.
Digit Carry는 하위 4bit 에서 상위 bit로 올라가는 올림수.
라는 뜻 같아요.
아마도, BCD code와 관련이 있을거 같은데요.
확실히는 모르겠구요.
BCD code는 뭔지 아실테니깐 생략하고,
BCD에서 1001 + 0001 = 0001 0000 이렇게 되잖아요.
제 짐작으로는 하위 4bit의 값이 1001 보다 클때 Digit Carry가 발생하는거 같습니다.
-
윤뽀 2009/05/31 19:54
전 Device PIC16F883입니다 ㅎ
고장난우주선님과 같은 PIC16F 계열이라 반갑네요 >ㅅ<//
BCD코드!
그렇군요 진짜 생각지도 못했는데 ;
883에 대한 Datasheet도 제대로 보지 못하고 막 시작한 일이라 이게 뭐지 이게 뭐지 하면서 전 그냥 DC를 Find만 해 봤었거든요
시간을 좀 가지고 들여다봐야하는데 히~
고장난우주선님 덕분에 좋은 정보를 얻고 있습니다
이렇게 티스토리까지 왕림하셔서 알려주시다니 ㅠㅠ
더구나 오늘은 주말! 일요일!
놀고있는 제가 살짝 부끄럽습니다 *-_-*
남은 주말 잘 보내시고, 힘차게 다음주 시작해 보아요~
댓글 없음:
댓글 쓰기