10.2.1 BIOS接口调用函数
在PC-DOS中,ROM_BIOS设置有12个中断。Turbo C对各种外部设备的接口调用都是通过中断实现的。表10.2.l是常用的接口调用函数。
下面举两个使用BIOS接口调用函数的例子。一个使用biosequip()函数显示出计算机配置的软盘驱动器个数,一个使用biosmemory()函数显示系统中配置的内存容量,两个函数的原型都在bios.h中。
表10-2-1
例10-2 显示计算机配置的软盘驱动器个数。
程序如下:
运行结果是:
Number of disk driver:1
程序中使用的函数biosequip()返回一个16位编码值,它表示计算机所配置的设备。编码位的第六位和第七位表示软盘驱动器个数。
语句“ep〉〉=6;”是将biosequip()函数的返回值右移6位再赋给ep,使ep中最低两位为软盘驱动器个数的代码,用(ep&3)将驱动器个数的代码取出,加1后用printf()函数显示,即获得计算机配置中软盘驱动器个数。
例10-3 下面的程序显示系统中的内存容量(以KB为单位)。
程序如下:
运行结果:
4965 K bytes of ram
在编写交互式应用程序时,通常要直接控制键盘的操作。bioskey()函数使用中断提供了对键盘的服务,其调用方式为:
int bioskey(int cmd)
行参cmd的值决定了执行什么操作。
如果cmd是0,bioskey()返回下一个在键盘上输入的字符的ASCII码。
如果cmd是1,bioskey()查询是否已按下一个键,当按了一个键时,返回非零值,否则返回0。
如果cmd是2,bioskey()返回键盘上是否处于上档键(Shift)状态,以编码方式放在返回值的低8位字节中。
例10-4 下面的程序使用bioskey()函数的1号功能,在屏幕上连续显示调用biosmemory()返回值,当按下任意键时程序停止运行。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。