📄 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 + -