mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2026-06-15 15:29:23 +00:00
4b9382ddbc
push
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
|
|
|