real-mode 에서 timer interrupt 구현하려고 하는데요...

dopesoul의 이미지

real-mode 에서 timer interrupt 를 구현하려 합니다.
I/O address 에 관한 정보와, 간단한 예제소스를 봤으면하는데
영 자료찾기가 껄끄럽네요 ^^
해보신 분의 명쾌한 답변 기다립니다.

익명 사용자의 이미지

컴파일러는 무엇을 사용하실 예정인가요?

익명 사용자의 이미지

PC레벨이라고 생각하고,

#define BD_I8254_CLK 1193180 /* 1.193 Mhz */
#define TIMER_RATE 1000 /* 1ms timer */

long tickrate;

outb(0x43, 0x34);
tickrate = BD_I8254_CLK / TIMER_RATE;
outb(0x40, (char)tickrate);
outb(0x40, (char)(tickrate >> 8));

이렇게 하고 인터럽트 벡터만 설치하면 되겠네요.

익명 사용자의 이미지

냉무