home *** CD-ROM | disk | FTP | other *** search
- ; SWAP.ASM ver. 1.0
- ; by Keith Petersen, W8SDZ
- ; Oct. 3, 1982
- ;
- ;The purpose of this program is to temporarily swap
- ;CP/M's CONSOLE and LIST outputs so that programs
- ;which normally cannot output to the list device may
- ;be made to do so. The function is a "flip-flop" so
- ;to "un-do" the swap simply execute SWAP.COM again.
- ;
- ORG 100H
- ;
- LHLD 1 ;GET POINTER TO CBIOS JMP TABLE
- LXI D,10 ;READY TO ADD 10
- DAD D ;HL=ADRS OF LSB OF JMP ADRS
- PUSH H ;SAVE ADRS
- MOV E,M ;SAVE LSB OF JMP IN E
- INX H ;HL=ADRS OF MSB OF JMP ADRS
- MOV D,M ;SAVE MSB IN D
- INX H ;SKIP OVER JMP INSTRUCTION
- INX H ;HL=ADRS OF LSB OF JMP ADRS
- MOV C,M ;SAVE LSB IN C
- MOV M,E ;PUT NEW LSB THERE
- INX H ;HL=ADRS OF MSB OF JMP ADRS
- MOV B,M ;SAVE MSB IN B
- MOV M,D ;PUT NEW MSB THERE
- POP H ;HL=ADRS OF LSB OF CONOUT JMP
- MOV M,C ;PUT NEW LSB THERE
- INX H ;HL=ADRS OF MSB OF CONOUT JMP
- MOV M,B ;PUT NEW MSB THERE
- RET ;RETURN TO CCP
- ;
- END
-