home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_07_07
/
v7n7045a.txt
< prev
next >
Wrap
Text File
|
1989-09-05
|
2KB
|
56 lines
**************************************************************
;
; THIS PROGRAM TOGGLES THE LST: PORT OF A CP/M OPERATING SYSTEM
;
;EQUATES LIST
;
RESET EQU 0H ; CP/M SYSTEM RESET
IOBYTE EQU 3H ; CP/M IOBYTE ADDRESS
LOUT EQU 5H ; CP/M LISTOUT
POUT EQU 9H ; CP/M PRINT STRING
CR EQU 0DH ; ASCII CR
LF EQU 0AH ; ASCII LF
;
ORG 100H ; STANDARD CP/M STARTING POINT
LXI SP,STACK ; START A STACK
;
LDA IOBYTE ; LOAD IOBYTE TO ACC
CPI 0 ; IS IT PARALLEL ?
JZ SER ; IF NOT CHANGE
;
; CHANGE TO PARALLEL PORT SUBROUTINE
;
LXI D,SMSG ; POINT TO SERIAL MSG
MVI C,POUT ; PRINT IT
CALL LOUT
MVI A,0 ; PARALLEL VALUE OF IOBYTE
STA IOBYTE ; INSTALL
JMP FINISH
;
;CHANGE TO SERIAL PORT SUBROUTINE
;
SER: LXI D,PMSG ; POINT TO PARALLEL MSG
MVI C,POUT ; PRINT IT
CALL LOUT
MVI A,80H ; SERIAL VALUE FOR IOBYTE
STA IOBYTE ; INSTALL
JMP FINISH
;
FINISH: CALL RESET ; SYSTEM RESET
;
;STORAGE AREAS
;
SMSG: DB CR,LF,'CHANGING FROM SERIAL TO PARALLEL.',CR,LF,'$'
4
PMSG: DB CR,LF,'CHANGING FROM PARALLEL TO SERIAL.`,CR,LF,`4`
DB 40
STACK; DB 0 ; START STACK
;
END