打印口巧切换

Author: 山东 李同君 Date: 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即可。
        (山东  李同君)