DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦421fb00bf⟧ TextFile

    Length: 768 (0x300)
    Types: TextFile
    Names: »CONSOL.SRC«

Derivation

└─⟦c9df7130d⟧ Bits:30005915 Pascal MT+ Release 5.2 (Jet-80)
    └─ ⟦this⟧ »CONSOL.SRC« 

TextFile

;CONSOLE ROUTINES
;
	NAME CONSOL
	ENTRY CSTS,CI,CO
	EXT POPHDB,PUSHBD
	INCLUDE DEFLT.SRC
;
CSTS	CALL	PUSHBD		;SAVE ALL REGISTERS EXCEPT A
	MVI	C,11		; CP/M CODE FOR CONSOLE STATUS.
	CALL	CPM
	ORA	A		;TEST A FOR RETURN CODE.
	JZ	POPHDB
	MVI	A,0FFH
	JMP	POPHDB

;CONSOLE IN READS AND ECHOS A CHARACTER FROM THE CONSOLE.
CI	CALL	PUSHBD		;SAVE ALL REGISTERS EXCEPT A
	MVI	C,1		;CP/M CODE FOR CONSOLE READ.
	CALL	CPM
	JMP	POPHDB		;RESTORE REGISTERS AND RETURN.

;CONSOLE OUT PROCEDURE PRINTS A CHARACTER PASSED IN REGISTER C ON THE CONSOLE.
CO	CALL	PUSHBD		;SAVE ALL REGISTERS EXCEPT A
	MOV	E,C		;CP/M WANTS THE CHARACTER IN E.
	MVI	C,2
	CALL	CPM
	JMP	POPHDB		;RESTORE REGISTERS AND RETURN.
«eof»