
kbhit

㭪            ந ஢:      ᨬ    
                   .

⠪          #include<conio.h>
                   int kbhit(void);

, ᮤঠ騩   conio.h
⨯

ᠭ           㭪 kbhit ஢, 뫠   -
                    .        
                   ।   㭪権 getch  getche.

頥       ᫨ -  뫠 , 㭪
祭           kbhit 頥 㫥 祭, ᫨ , 
                   頥 0.

७ᨬ      kbhit 㭨쭠   DOS.  㭪  ᮢ⨬ 
                   Windows.

 ⠪     getch, getche.

ਬ:

#include<conio.h>

int main(void)
{
   cprintf(" த   :");
   while(!kbhit())  /* ⮩ 横 */
   cprintf("\r\n뫠   ");
   return 0;
}


keep

㭪            ⢫ 室   DOS  ணࠬ,  ⠢,
                   ⥬   e १⭮.

⠪          #include<dos.h>
                   void keep(unsigned char status, unsigned size);

, ᮤঠ騩   dos.h
⨯

ᠭ           㭪 keep ⢫ 室  DOS   ᮬ
                   室  ६ status.  ணࠬ, ⥬
                    ,  ⠥ १⭮.    ணࠬ
                   ⠭     size  ࠣ䮢,    ⮪
                     ᢮.
                   
                   㭪 keep   ᯮ짮  ⠭
                   १   ணࠬ   (TSR).    㭪    keep
                   ᯮ 㭪 DOS 0x31.

頥       .
祭

७ᨬ      㭪 㭨쭠  DOS. 㭪  ᮢ⨬ 
                   Windows.

 ⠪     abort, exit.

ਬ:

/* :
    ணࠬ   ࠡ⪨   뢠.   ᫨       ⠥
   ⪮஢    祭 ஢મ ९ ⥪,  
       !!!    ࠢ쭮  ࠡ饩  ணࠬ.   㫠
   ᯮ짮    ⮩  㭪樨,    ᫮ ࠣ䮬 
   易⥫쭮  㤥  ࠡ      .   ᯮ   
   ஦!    ணࠬ   쭮 ᫮묨
   த⠬,      ᯥ稢 ⥫쭠 প.
   ⥫ ଠ    孨᪮ 㬥樨 
   DOS */

#include<dos.h>
/* 뢠  ⠩ */
#define INTR 0x1c
/* ਡ ࠭ (㡮  ) */
#define ATTR 0x7900
/* 㬥 ࠧ ⥪  쭮 , ⮡
   ᤥ ணࠬ  */
extern unsigned _heaplen = 1024;
extern unsigned _stklen = 512;

void interrupt (*oldhandler)();

void interrupt handler(void)
{
   unsigned int (far *screen)[80];
   static int count;
   /*  梥⭮   
      B800:0000,  ஬ B000:0000 */
   screen = MK_FP(0x8000,0);
   /* 㢥 稪,      10 */
   count++;
   count %= 10;
   /* 뢥 ᫮  ࠭ */
   screen[0][79] = count+'0'+ATTR;
   /* 맢  㭪 ࠡ⪨ 뢠 */
   oldhandler();
}
int main(void)
{
   /*   ⥪饩 ணࠬ ࠡ⪨ 뢠
       ⠩ */
   oldhandler = getvect(INTR);
   /* ⠭ ᢮ ணࠬ ࠡ⪨ 뢠 */
   setvect(INTR,handler);
   /* _psp ᮤন 砫   ,  ன
      ᯮ  ணࠬ. 設 ⥪ ।
       襩 ணࠬ. _SS  SP    ⥪.
        㤥 㦭    
      ᮡ⢥ 㦤,   ᫥騬 ࠧ:
      (_SS + ((_SP + 쭠 )/16) - _psp) */

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