📄 fk.htm
字号:
<HTML><HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"> <META NAME="Author" CONTENT="wdg"> <META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (Win95; I) [Netscape]"> <TITLE>fk</TITLE></HEAD><BODY> <P>函数名: kbhit<BR>功 能: 检查当前按下的键<BR>用 法: int kbhit(void);<BR>程序例:<P>#include <conio.h><P>int main(void)<BR>{<BR> cprintf("Press any key to continue:");<BR> while (!kbhit()) /* do nothing */ ;<BR> cprintf("\r\nA key was pressed...\r\n");<BR> return 0;<BR>}<BR> <BR> <BR> <P>函数名: keep<BR>功 能: 退出并继续驻留<BR>用 法: void keep(int status, int size);<BR>程序例:<P>/***NOTE:<BR> This is an interrupt service routine. You<BR> can NOT compile this program with Test<BR> Stack Overflow turned on and get an<BR> executable file which will operate<BR> correctly. Due to the nature of this<BR> function the formula used to compute<BR> the number of paragraphs may not<BR> necessarily work in all cases. Use with<BR> care! Terminate Stay Resident (TSR)<BR> programs are complex and no other support<BR> for them is provided. Refer to the<BR> MS-DOS technical documentation<BR> for more information. */<BR>#include <dos.h><BR>/* The clock tick interrupt */<BR>#define INTR 0x1C<BR>/* Screen attribute (blue on grey) */<BR>#define ATTR 0x7900<P>/* reduce heaplength and stacklength<BR>to make a smaller program in memory */<BR>extern unsigned _heaplen = 1024;<BR>extern unsigned _stklen = 512;<P>void interrupt ( *oldhandler)(void);<P>void interrupt handler(void)<BR>{<BR> unsigned int (far *screen)[80];<BR> static int count;<P>/* For a color screen the video memory<BR> is at B800:0000. For a monochrome<BR> system use B000:000 */<BR> screen = MK_FP(0xB800,0);<P>/* increase the counter and keep it<BR> within 0 to 9 */<BR> count++;<BR> count %= 10;<P>/* put the number on the screen */<BR> screen[0][79] = count + '0' + ATTR;<P>/* call the old interrupt handler */<BR> oldhandler();<BR>}<P>int main(void)<BR>{<P>/* get the address of the current clock<BR> tick interrupt */<BR>oldhandler = getvect(INTR);<P>/* install the new interrupt handler */<BR>setvect(INTR, handler);<P>/* _psp is the starting address of the<BR> program in memory. The top of the stack<BR> is the end of the program. Using _SS and<BR> _SP together we can get the end of the<BR> stack. You may want to allow a bit of<BR> saftey space to insure that enough room<BR> is being allocated ie:<BR> (_SS + ((_SP + safety space)/16) - _psp)<BR>*/<BR>keep(0, (_SS + (_SP/16) - _psp));<BR>return 0;<BR>}<BR> <P> <A HREF="index.html">返回目录</A><BR></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -