CHKBUF


CHKBUF, '*' ( 2.3). , <Esc>, - . <Esc>, .

2.3. chkbuf\chkbuf.c

// =====================================================

//

//

// (C) ., 1997

//

// E-mail: frolov@glas.apc.org

// WWW: http://www.glasnet.ru/~frolov

//

// http://www.dials.ccas.ru/frolov

// =====================================================

#include <stdio.h>

#include <dos.h>

int main(void)

{

union REGS rg;

int i, zflag;

printf("CHKBUF, (c) A. Frolov, 1997\n");

for(;;)

{

// '*'

putchar('*');

//

for(i=0; i<30000; i++);

// INT 16h

// . ,

//

zflag = 1;

_asm

{

mov ax, 0100h

int 16h

// ,

//

jz nokey

//

mov zflag, 0

nokey:

}

if(zflag == 0)

{

// ,

// 01h INT 16h

rg.h.ah = 0;

int86(0x16, &rg, &rg);

// <Esc>,

//

if(rg.h.ah == 1)

{

// AH AL,

// , , - ASCII

//

printf("\nScan = %02.2X Ascii = %02.2X",

rg.h.ah, rg.h.al);

break;

}

else

printf("\nPress <ESC> to exit\n");

}

}

return 0;

}