Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!gatech!emcard!stiatl!todd From: todd@stiatl.UUCP (Todd Merriman) Newsgroups: comp.sys.ibm.pc Subject: Re: LPT rerouting - can it be done? Message-ID: <3783@stiatl.UUCP> Date: 15 Mar 89 13:06:59 GMT References: <235@alux2.ATT.COM> Reply-To: todd@stiatl.UUCP (Todd Merriman) Distribution: usa Organization: Sales Technologies Inc., Atlanta, GA Lines: 112 In article <235@alux2.ATT.COM> wg@alux2.ATT.COM (Bill Gieske) writes: > >Can I get LPT1: output to go to LPT2: ........... ifdef DOCUMENTATION ; **************************************************************************** .MODULE LPT_SWAP .LIBRARY CLIB .TYPE function .DESCRIPTION Swap the mapping to LPT1 and LPT2 .ARGUMENTS void lpt_swap() .NARRATIVE Lpt_swap swaps the LPT1 and LPT2 definitions. .APPLICATION system .SYSTEM msdos .RETURNS Nothing .LANGUAGE Assembly .ENDOC END DOCUMENTATION ; **************************************************************************** endif INCLUDE \LAT\HEADER\DOS.MAC ; symbols and macros for Lattice SFRAME STRUC SAV_BX DW ? SAV_ES DW ? REG_BP DW ? ; base pointer to be pushed RTN_ADD DW ? ; offset of return address SFRAME ENDS M_LPT1 EQU 08H ; memory location for LPT1 mapping M_LPT2 EQU 0AH ; memory location for LPT2 mapping SEGMT EQU 40H ; segment for locations ; **************************************************************************** ; code ; **************************************************************************** PSEG ; begin program section PUBLIC LPT_SWAP LPT_SWAP PROC NEAR PUSH BP PUSH ES PUSH BX MOV BP,SP MOV AX,SEGMT ; load segment register MOV ES,AX MOV AX,WORD PTR ES:[M_LPT1] MOV BX,WORD PTR ES:[M_LPT2] MOV WORD PTR ES:[M_LPT2],AX MOV WORD PTR ES:[M_LPT1],BX POP BX POP ES POP BP RET LPT_SWAP ENDP ENDPS ; end program section END ; end assembly ; **************************************************************************** ; Test program ; **************************************************************************** PAGE 59,132 INCLUDE \LAT\HEADER\CSUB.MAC CODE SEGMENT PUBLIC ASSUME CS:CODE, DS:CODE, SS:CODE, ES:CODE EXTRN LPT_SWAP:NEAR ORG 100H ; .COM origin MAIN PROC FAR START: PUSH DS SUB AX,AX PUSH AX ; leave return address MOV BP,SP DISPLAY MSG CALL LPT_SWAP MOV SP,BP RET ; to DOS MAIN ENDP MSG: DB 'Swapping LPT1 and LPT2',CR,LF,CPMEOS CODE ENDS END START ; **************************************************************************** ; End LPT_SWAP.ASM ; **************************************************************************** ...!gatech!stiatl!todd Todd Merriman 404-377-8638 Atlanta, GA