countdos.bak
来自「文件名:c语言深入学习必备参考例子 很多经典的c例子:高级的宏定义」· BAK 代码 · 共 52 行
BAK
52 行
#include <stdio.h>
#include <dos.h>
#include <dir.h>
int function[255]; // DOS services
void interrupt far (*original_handler)();
void interrupt far handler(void)
{
char i;
asm { mov i, ah }
function[i]++;
_chain_intr(original_handler);
}
void main(void)
{
int i;
// Zero the function counts
for (i = 0; i < 255; i++)
function[i] = 0;
original_handler = _dos_getvect(0x21);
_disable();
_dos_setvect(0x21, handler);
_enable();
printf("This is a message\n");
fprintf(stdout, "This is a second message\n");
printf("Current disk is %c\n", getdisk() + 'A');
_disable();
_dos_setvect(0x21, original_handler);
_enable();
for (i = 0; i <= 255; i++)
if (function[i])
printf("Function %x called %d times\n", i, function[i]);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?