안녕하십니까
코드해석 좀 부탁드립니다.
달랑 물어보는 건 아니구요 .보다보다 지쳐서 도움 청합니다.
하기의 코드중 분석 부탁드립니다.
#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)//이부분두요 0x7F는 무엇이고 왜 &연산을 하였는지 또 "0"이 아니어야하는지 등등 상세하게 부탁드립니다.
putch(out);
if (kbhit())
{
if ((in = getch()) == '\x1B')
DONE = TRUE;
bioscom(1, in, COM2);
}
}
return 0;
}
|