; 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