9.3.3 BIOS打印功能
BIOS 17H 中断指令提供了由AH寄存器指定的三种不同的操作。
AH=0 打印一个字符
AH=1 初始化打印机
AH=2 读取状态字节
打印机忙(printer busy)表示打印机正在接收数据,或正在打印,或处于脱机状态。应答位(acknowledge)表示打印机已发出一个表明它已经接收到数据的信号。选择位(select)表示打印机是联机的。超时位(Time
out)表示打印机发出忙信号很长一段时间了,系统将不再给它传送数据。表示打印出错的是第5位(纸出界)或第3位(I/O错)为1。如果打印机没有接上电源,没有装上纸或没有联机,而打印程序已开始运行,这时显示器的指示光标会不停地闪烁,当接通打印机的电源后,某些输出数据就会丢失。如果在打印程序中先安排指令测试打印机的状态,则BIOS操作就会返送回状态码,(DOS打印操作是自动进行测试的,但对各种情况都显示一个"纸出界"的信息)。当打印机接通电源后,即开始正常打印,而且不丢失任何数据。
例9.22
应用BIOS和DOS功能调用,编写一个简单的打字程序(TYPER)。它要求把从键盘上接收的字符显示在屏幕上,并由打印机输出,在键盘上按下ESC键,即退出程序。
|
|