|
& 연산과 | 연산의 기능은 아래와 같은 용도로도 많이 사용을 합니다.
& : 특정 bit 들의 값만 추출하고자 할 때에..
| : 특정 bit 를 setting 하고자 할 때에
초자탈출기 님이 쓰신 글 :
: 안녕하십니까
:
: 코드해석 좀 부탁드립니다.
: 달랑 물어보는 건 아니구요 .보다보다 지쳐서 도움 청합니다.
: 하기의 코드중 분석 부탁드립니다.
: #define COM2 1
: #define DATA_READY 0x0100
: #define TRUE 1
: #define FALSE 0
:
: #define SETTINGS ( 0xe3 | 0x00 | 0x00 | 0x00)
:
: int main(void)
: {
: int in, out, status, DONE = FALSE;
:
: bioscom(0, SETTINGS, COM2);
: cprintf("... BIOSCOM [ESC] to exit ...\n");
: while (!DONE)
: {
: status = bioscom(3, 0, COM2);
: if (status & DATA_READY)//이 부분 해석좀 부탁드립니다.
: if ((out = bioscom(2, 0, COM2) & 0x7F) != 0)//이부분두요 ox7F는 무엇이고 또 "0"의 의미는 무엇이고?등등 상세하게 부탁드립니다.
:
: putch(out);
: if (kbhit())
: {
: if ((in = getch()) == '\x1B')
: DONE = TRUE;
: bioscom(1, in, COM2);
: }
: }
: return 0;
: }
|