L'interrupt della tastiera "occupa" la nona posizione, nella tabella dei vettori di interruzione...
Con funzioni quali dos_setvect o dos_getvect (delle quali non ricordo la corretta sintassi) contenute nell'header dos.h è possibile cabiare le funzioni standard con delle funzioni definite dall'utente (void interrupt)...
Al termine del programma basta mettere una keep per farlo terminare senza deallocare la memoria ad esso dedicata.
In questo modo si può ridefinire un interrupt della tastiera che non esegue nessuna operazione(o magari settarlo in modo da ripristinare la vecchia interruzione alla pressione di un tasto o una sequenza particolare)

EDIT:
Vabbè ecco una bozza ...
Controlla la keep se è corretto usarla in questo modo...
codice:
 #include <stdio.h>
 #include <dos.h>
 #ifdef __cplusplus
     #define __CPPARGS ...
 #else
     #define __CPPARGS
 #endif
 void interrupt newInt(__CPPARGS);   

 int main(void)
 {
   /* install interrupt handler */
   _dos_setvect(9,newInt);

   keep(0, (_SS + (_SP/16) - _psp));

   return 0;
 }

 void interrupt newInt(__CPPARGS) 
 {
   
 }
Infine l'interrupt della tastiera deve fare una srittura in un registro che non ricordo ... se mi viene lo posto (altrimenti non funziona niente)