You are on page 1of 2

//XXXXXXXXXXXXXXXX #include <dos.

h> //XXXXXXXXXXXXXXXX void interrupt MiRSI_Teclado( void ); void MuestraCaracter(int c, int x, int y); void InstalaRSI( void ); void DesinstalaRSI( void ); //XXXXXXXXXXXXXXXX int IMR; void interrupt (*pRSI)( void ); int ContInt = 0; //XXXXXXXXXXXXXXXX int main( void ) { int Tecla; InstalaRSI(); while(1) { Tecla = getch(); if(('a'<=Tecla)&&(Tecla<='z')) putch('*'); else if(Tecla==27) break; } DesinstalaRSI(); return 0; } //XXXXXXXXXXXXXXXX void InstalaRSI( void ) { disable(); //I=0 IMR = inportb(0x21); pRSI = getvect(9); outportb(0x21,IMR&0xFD);//11111101 setvect(9,MiRSI_Teclado); enable(); //I=1 } //XXXXXXXXXXXXXXXX void DesinstalaRSI( void ) { disable(); //I=0 outportb(0x21,IMR); setvect(9,pRSI); enable(); //I=1 } //XXXXXXXXXXXXXXXX void interrupt MiRSI_Teclado( void ) { (*pRSI)(); if(ContInt==9) ContInt = 0; else ContInt++; MuestraCaracter(ContInt+'0',79,0); outportb(0x20,0x20); }

//XXXXXXXXXXXXXXXX void MuestraCaracter(int c, int x, int y) { char far *p=(char far *)0xB8000000; p = p + 2*(80*y+x); *p = c; } //XXXXXXXXXXXXXXXX

You might also like