这个写的比较简单,。。。。。。。直接代码
kmain函数中加入
// 初始化8259A
init_8259a();
// 初始化时钟中断
init_timer();
8259A的初始化代码就不贴了。这个网上太多了。
timer.c
// 初始化时钟中断
void init_timer()
{
timer_long = 0;
outb(0x43, 0x36);
outb(0x40, 11930 & 0xFF);
outb(0x40, 11930 >> 8);
uchar in = inb(0x21);
outb(0x21, in & 0xFE);
}
上面是初始化时间中断的,这个网上也有不少。。。。
具体代码到群共享里面找(os0.5)。