home *** CD-ROM | disk | FTP | other *** search
- ;-----------------------------------------------------------------------------;
- ; Source code for lptswap.obj
- ; Michael K. Spray (C) 1986 All rights Reserved.
- ; 2712 N Malibu Dr. Tucson AZ 85705 (AAK014 - Source) [76525,1142]
- ; SUBMITTED TO NPN PUBLIC DOMAIN 19:47:38 11/5/1986
- ; PROVIDED THAT CODE IS DELIVERED FREE OF CHARGE AND THIS HEADING
- ; REMAINS INTACT.
- ;-----------------------------------------------------------------------------;
- ; ASM CODE TO SWAP LPT1: AND LPT2:
-
- PAGE ,132
- CSEG SEGMENT PARA PUBLIC 'CODE'
- ASSUME CS:CSEG ;ASSIGN CODE SEGMENT
- PUBLIC LPTSWAP
- LPTSWAP PROC FAR ;ENTRY POINT OF ROUTINE
- PUSH AX ;SAVE REGISTERS
- PUSH BX
- PUSH CX
- PUSH DX
- PUSH DS
- ASSUME DS:CSEG
- MOV AX,0040H
- MOV DS,AX ;SET DATA SEGMENT
- MOV AX,DS:0008H ;GET LPT1 ADDRESS
- MOV BX,DS:000AH ;GET LPT2 ADDERSS
- OR AX,AX ;SET FLAGS
- JZ NOPRINT1 ;IF NO ADDRES^C
- OR BX,BX ;SET FLAGS
- JZ NOPRINT2 ;IF 0 GOTO LPT2 ERROR
- MOV DS:[000AH],AX ;SWAP LPT ADDRESS
- MOV DS:[0008H],BX
- JMP AROUND ;JUMP AROUND ERROR ROUTINE
- NOPRINT1: MOV DX,OFFSET MESS1 ;LOCATION OF MESSAGE 1
- JMP PRINTMESS ;JUMP AROUND NOPRINT2
- NOPRINT2: MOV DX,OFFSET MESS2 ;LOCATION OF MESSAGE 2
- PRINTMESS: MOV AH,09H ;DOS STRING PRINT
- MOV BX,CS ;RETURN VALUE TO DATA SEGMENT
- MOV DS,BX
- INT 21H ;CALL DOS TO PRINT STRING
- AROUND: POP DS ;RETURN OLD VALUES
- POP DX
- POP CX
- POP BX
- POP AX
- RET ;RETURN TO CALLING PROGRAM
- MESS1 DB ' LPT1: NOT FOUND $'
- MESS2 DB ' LPT2: NOT FOUND $'
- LPTSWAP ENDP
- CSEG ENDS
- END
-