mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-20 18:36:10 +00:00
30 lines
1.0 KiB
NASM
30 lines
1.0 KiB
NASM
|
;title LPTPORT.ASM - Switch Printer Ports Between LPT1: and LPT2:
|
|||
|
;
|
|||
|
; (C) Copyright 1984, Dickinson Associates Inc.
|
|||
|
;
|
|||
|
ROM_BIOS_DATA segment at 40h ; Low Memory "BIOS" Parameters at 40H
|
|||
|
org 8h ; Printer port addresses are at byte 8
|
|||
|
PRINTER_BASE dw 4 dup(?) ; Four words for Printer Port
|
|||
|
; I/O Address Locations
|
|||
|
ROM_BIOS_DATA ends ; End of data segment
|
|||
|
;
|
|||
|
CODE_SEG segment para 'code'
|
|||
|
;
|
|||
|
assume ds:ROM_BIOS_DATA, cs:CODE_SEG, ss:NOTHING, es:NOTHING
|
|||
|
org 100h ; .COM format program
|
|||
|
;
|
|||
|
BEGIN:
|
|||
|
mov ax,ROM_BIOS_DATA ; Make ROM_BIOS_DATA addressable
|
|||
|
mov ds,ax ; via DS register.
|
|||
|
;
|
|||
|
mov ax,PRINTER_BASE[0] ; Move LPT1: port address to AX
|
|||
|
mov bx,PRINTER_BASE[2] ; Move LPT2: port address to BX
|
|||
|
mov PRINTER_BASE[0],bx ; Switch the port addresses around
|
|||
|
mov PRINTER_BASE[2],ax ; by moving them back in reverse order.
|
|||
|
;
|
|||
|
ret ; Back to PC-DOS
|
|||
|
;
|
|||
|
CODE_SEG ends ; End of code segment
|
|||
|
;
|
|||
|
end BEGIN ; End of program
|
|||
|
|