Countdos.c
上传用户:dq031136
上传日期:2022-08-08
资源大小:802k
文件大小:1k
- #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;
-
- for (i = 0; i < 255; i++) // Zero the function counts
- function[i] = 0;
- original_handler = _dos_getvect(0x21);
- _disable();
- _dos_setvect(0x21, handler);
- _enable();
- printf("This is a messagen");
- fprintf(stdout, "This is a second messagen");
- printf("Current disk is %cn", getdisk() + 'A');
- _disable();
- _dos_setvect(0x21, original_handler);
- _enable();
-
-
- for (i = 0; i <= 255; i++)
- if (function[i])
- printf("Function %x called %d timesn", i, function[i]);
- }