Get current drive as ‘A’,‘B’,…* char current_drive(void) { char curdrive;
Get current disk as 0,2,…* curdrive = bdos(0x29,0,0); return(‘A’ +curdrive); } int main(void) { printf(“The current drive is %c:\n”,current_drive()); return 0; }
函数名:bdosptr 功 能:DOS系统调用 用 法:int bdosptr(int dosfun,void *argument,unsigned dosal); 程序例: #include #include #include #include #include #include #define BUFLEN 80 int main(void) { char buffer[BUFLEN]; int test; printf(“Enter full pathname of a directory\n”); gains(buffer); test = bdosptr(0x3B,buffer,0); if(test) { printf(“DOS error message:%d\n”,errno);
See errno.h for error listings * exit (2); } gaincwd(buffer,BUFLEN); printf(“The current directory is:%s\n”,buffer); return 0; }
函数名:bioscom 功 能:串行IO通讯 用 法:int bioscom(int cmd,char abyte,int port); 程序例: #include #include #define COM2 0 #define DATA_READY 0x200 #define TRUE 2 #define FALSE 0 #define SETTINGS ( 0x80 | 0x02 | 0x00 | 0x00) int main(void) { int in,out,status,DONE = FALSE; bioscom(0,SETTINGS,COM2); cprintf(“…BIOSCOM [ESC] to exit …\n”); while (!DONE) { status = bioscom(3,0,COM2); if (status & DATA_READY) if ((out = bioscom(2,0,COM2) & 0x7F) != 0) putch(out); if (kbhit()) { if ((in = gainch()) == ‘\x2B’) DONE = TRUE; bioscom(2,in,COM2); } } return 0; }