#include <stdio.h>
#include <dos.h>
void main() {
unsigned char status;
/* 메모리의 0000:0417H에 존재하는 데이타의 한 바이트를 가져옵니다. */
status = peekb(0x00, 0x417);
printf("<<키보드 상태>>\n");
/* 상태 바이트의 7 비트가 셋팅되어 있는지 조사 */
if( status & 0x80 ) printf("Insert\n");
else printf("Overwrite\n");
/* 상태 바이트의 6 비트가 셋팅되어 있는지 조사 */
if( status & 0x40 ) printf("Caps Lock On\n");
else printf("Caps Lock off\n");
/* 상태 바이트의 5 비트가 셋팅되어 있는지 조사 */
if( status & 0x20 ) printf("Num Lock On\n");
else printf("Num Lock off\n");
/* 상태 바이트의 4 비트가 셋팅되어 있는지 조사 */
if( status & 0x10 ) printf("Scroll Lock On\n");
else printf("Scroll Lock off\n");
}
본 소스는 'C로 하드웨어 주무르기' 라는 가메출판사의 책 처음 부분 소스 입니다.
책 예제대로 다 해보고, 또 출판사 사이트 가서 직접 소스 가져와서 해봐도 제목에 쓴 것처럼
컴파일은 되나 실행이 안되는 참으로 미치고 팔짝 뛸 것 같은 상황입니다...ㅡ.ㅜ
일단 책에서는 '볼랜드 C++ 2.0' 으로 컴파일 했다고 쓰여있고
저는 'Turbo C++ for Windows 3.1' 에서 컴파일 했습니다.
이 소스가 잘못된 것인지 아니면 컴파일러를 바꿔야하는건지
틀렸다면 어디가 틀렸는지 가르쳐 주십시요....제바아알~
- 이거 가지고 1주일째 쇼하는 불쌍한 이가...ㅡ.ㅜ
|