打印口巧切换 山东 李同君 1995-01-20 IBM及兼容机的内存低端是数据区,该区数据均可直接访问,而打印机口地址就存放在该数据区中[段地址:40H,偏移地址:08H_09H打印机1(LPT1)] [段地址:40H,偏移地址:0AH_0BH打印机2(LPT2] 只要把两个打印口地址数据相互交换,即可实现交换打印口的目的。 本文所给程序就是利用上述原理来交换两个打印口地址数据的,从而巧换打印口。本程序可在DEBUG下直接建立(如下): C:\>debug -a100 ××××:0100 mov ax,0040 ××××:0103 mov ds,ax ××××:0105 mov si,0008 ××××:0108 mov ax,[si] ××××:010A mov si,000a ××××:010D mov dx,[si] ××××:010F mov [si],ax ××××:0111 mov si,0008 ××××:0114 nov [si],dx ××××:0116 int 20 ××××:0118 -n lptswap.com -rcx cx:0000 :18 -w Writing 0018 bytes -q c:\> 本程序(LPTSWAP.COM)在长城0520、浪潮286、386、联想386、联想486机器上运行通过。若想恢复,只需再执行一次LPTSWAP.COM即可。 (山东 李同君)