int main(void) { ... Main_Window(); //Draw ... /* store old interrupt vector */ oldint9 = getvect(9); /* set up new interrupt handler */ setvect(0x09,New_Int9H); while() { //Do Somethings here... }
/*Quit*/ CLR_8042OBF(); /* set up exit handler to restore INT 9 */ Restore_OLD_INT9H(); SetColor(WHITE,BLACK); clrscr(); //0=Pass , 1=Fail return theResult; }
3 則留言:
您好~~ 針對您所寫的Keyboard Test 希望您不吝指教...
有關您說"用C語言所提供的函數去替換掉IRQ中斷服務程式,然後指向自己的函數並且自己處理Scan code" 是使用何函數做到的呢??
我目前對Assemble & C++ 程式撰寫有興趣,也撰寫程式一段時間了(約一年半)希望您能指教一下後進,Thanks ~~
以下是我的主程式片段,給你參考吧!
int main(void)
{
...
Main_Window(); //Draw
...
/* store old interrupt vector */
oldint9 = getvect(9);
/* set up new interrupt handler */
setvect(0x09,New_Int9H);
while()
{
//Do Somethings here...
}
/*Quit*/
CLR_8042OBF();
/* set up exit handler to restore INT 9 */
Restore_OLD_INT9H();
SetColor(WHITE,BLACK);
clrscr();
//0=Pass , 1=Fail
return theResult;
}
感謝您的指導,您的網站讓我對BIOS
有了更深一層的了解希望您能繼續的
經營,讓我們這些後進可以了解BIOS
張貼留言