mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-18 17:36:11 +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
|
||
|