打印本文 打印本文  关闭窗口 关闭窗口  
C语言函数大全(k开头)
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 13:59:37  文章录入:杜斌  责任编辑:杜斌

函数名: kbhit 
功 能: 检查当前按下的键 
用 法: int kbhit(void); 
程序例: 
#include 
int main(void) 

cprintf("Press any key to continue:"); 
while (!kbhit()) /* do nothing */ ; 
cprintf("\r\nA key was pressed...\r\n"); 
return 0; 


函数名: keep 
功 能: 退出并继续驻留 
用 法: void keep(int status, int size); 
程序例: 
/***NOTE: 
This is an interrupt service routine. You 
can NOT compile this program with Test 
Stack Overflow turned on and get an 
executable file which will operate 
correctly. Due to the nature of this 
function the formula used to compute 
the number of paragraphs may not 
necessarily work in all cases. Use with 
care! Terminate Stay Resident (TSR) 
programs are complex and no other support 
for them is provided. Refer to the 
MS-DOS technical documentation 
for more information. */ 
#include 
/* The clock tick interrupt */ 
#define INTR 0x1C 
/* Screen attribute (blue on grey) */ 
#define ATTR 0x7900 
/* reduce heaplength and stacklength 
to make a smaller program in memory */ 
extern unsigned _heaplen = 1024; 
extern unsigned _stklen = 512; 
void interrupt ( *oldhandler)(void); 
void interrupt handler(void) 

unsigned int (far *screen)[80]; 
static int count; 
/* For a color screen the video memory 
is at B800:0000. For a monochrome 
system use B000:000 */ 
screen = MK_FP(0xB800,0); 
/* increase the counter and keep it 
within 0 to 9 */ 
count++; 
count %= 10; 
/* put the number on the screen */ 
screen[0][79] = count + ’0’ + ATTR; 
/* call the old interrupt handler */ 
oldhandler(); 

int main(void) 

/* get the address of the current clock 
tick interrupt */ 
oldhandler = getvect(INTR); 
/* install the new interrupt handler */ 
setvect(INTR, handler); 
/* _psp is the starting address of the 
program in memory. The top of the stack 
is the end of the program. Using _SS and 
_SP together we can get the end of the 
stack. You may want to allow a bit of 
saftey space to insure that enough room 
is being allocated ie: 
(_SS + ((_SP + safety space)/16) - _psp) 
*/ 
keep(0, (_SS + (_SP/16) - _psp)); 
return 0; 


函数名: kbhit 
功 能: 检查当前按下的键 
用 法: int kbhit(void); 
程序例: 
#include 
int main(void) 

cprintf("Press any key to continue:"); 
while (!kbhit()) /* do nothing */ ; 
cprintf("\r\nA key was pressed...\r\n"); 
return 0; 


函数名: keep 
功 能: 退出并继续驻留 
用 法: void keep(int status, int size); 
程序例: 
/***NOTE: 
This is an interrupt service routine. You 
can NOT compile this program with Test 
Stack Overflow turned on and get an 
executable file which will operate 
correctly. Due to the nature of this 
function the formula used to compute 
the number of paragraphs may not 
necessarily work in all cases. Use with 
care! Terminate Stay Resident (TSR) 
programs are complex and no other support 
for them is provided. Refer to the 
MS-DOS technical documentation 
for more information. */ 
#include 
/* The clock tick interrupt */ 
#define INTR 0x1C 
/* Screen attribute (blue on grey) */ 
#define ATTR 0x7900 
/* reduce heaplength and stacklength 
to make a smaller program in memory */ 
extern unsigned _heaplen = 1024; 
extern unsigned _stklen = 512; 
void interrupt ( *oldhandler)(void); 
void interrupt handler(void) 

unsigned int (far *screen)[80]; 
static int count; 
/* For a color screen the video memory 
is at B800:0000. For a monochrome 
system use B000:000 */ 
screen = MK_FP(0xB800,0); 
/* increase the counter and keep it 
within 0 to 9 */ 
count++; 
count %= 10; 
/* put the number on the screen */ 
screen[0][79] = count + ’0’ + ATTR; 
/* call the old interrupt handler */ 
oldhandler(); 

int main(void) 

/* get the address of the current clock 
tick interrupt */ 
oldhandler = getvect(INTR); 
/* install the new interrupt handler */ 
setvect(INTR, handler); 
/* _psp is the starting address of the 
program in memory. The top of the stack 
is the end of the program. Using _SS and 
_SP together we can get the end of the 
stack. You may want to allow a bit of 
saftey space to insure that enough room 
is being allocated ie: 
(_SS + ((_SP + safety space)/16) - _psp) 
*/ 
keep(0, (_SS + (_SP/16) - _psp)); 
return 0; 
}
打印本文 打印本文  关闭窗口 关闭窗口