微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题如何确保打印前自动联机
栏目其它
作者辽宁 王红军 谢玉芬
发布1996-09-27
  ;PRNON.ASM
  CODE SEGMENT
  PROG PROC FAR  ;定义远过程
  ASSUME CS:CODE,DS:CODE,SS:CODE
  PUSH DS  ;保存重要寄存器
  PUSH DX
  PUSH AX
  MOV DX,00H  ;设置打印口为LPT1
  MOV AH,01H  ;初始化打印机
  INT 17H  ;功能调用
  POP AX  ;恢复原寄存器内容
  POP DX
  POP DS
  RETF  ;远程返回
  PROG ENDP
  CODE ENDS
  END PROG
  把上面的汇编程序经过编译、连接,再用EXE2BIN转换为二进制文件PRNON.BIN。由于程序很小,所以也可以通过DEBUG的小汇编A命令直接输入程序的主体部分,也能形成PRNON.BIN二进制文件。这样就可以在FOXBASE或FOXPRO等系统调用了。
  ……
  LOAD PRNON  &&装载二进制文件
  CALL PRNON  &&调用二进制文件
  KEY=INKEY(5)  &&因初始化时打印头需动作,故此时需几秒钟的延迟
  SET PRINT ON  &&联机
  SET DEVICE TO PRINT  &&磁盘内容输出到打印机
  ……
  将上述几条命令加入打印程序的前面,无论打印机的当前状态如何,都能够确保在打印前自动联接打印机。它能够将打印机缓冲区中的残留数据清空,具有仿真WPS打印功能的效果。程序执行时,我们可以看到打印头从当前位置回到初始位置,并伴有复位动作声和联机信号的鸣叫声。有兴趣的读者不妨把它加到自己的程序中,同时也可以把这个功能扩展到其它语言编写的程序中,如C语言、PASCAL语言等。