#include <stdio.h>
#include <dos.h>
main(int argc, char **argv)
{
unsigned int far *vecbase = MK_FP(0x0000, 0x0000);
int int_num;
if(argc == 1) {
printf("INTVEC Shows interrupt vector for an interrupt\n");
printf("usage: intvec <IntNum | X>\n");
printf("X shows all 256 interrupt vectors\n");
exit(0);
}
if((argv[1][0] == 'x') || (argv[1][0] == 'X')) {
for(int_num = 0; int_num < 256; int_num++) {
printf("INT %02Xh vector = ", int_num);
printf("%04X:%04X\n",vecbase[int_num * 2 + 1],vecbase[int_num * 2]);
}
} else {
if(sscanf(argv[1],"%X", &int_num)) {
printf("INT %02Xh vector = ", int_num);
printf("%04X:%04X\n", vecbase[int_num * 2 + 1], vecbase[int_num * 2]);
} else
printf("Error: bad number\n");
}
}