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 - metrics - download

⟦f5a009608⟧ TextFile

    Length: 2176 (0x880)
    Types: TextFile
    Names: »DROPLS.ASM«

Derivation

└─⟦028d1135a⟧ Bits:30009624 SW1711/I5 RC702 CP/M System diskette Release 2.1
    └─⟦this⟧ »DROPLS.ASM« 

TextFile

;**************************************************************
;
;			 DROPLS.ASM    (Vers. 1.0)
;
;			 Martin Lund
;		     Sct. Knuds Gymnasium
;			 August 1984
;
; Det foreliggende assemblerprogram er skrevet til RC 702-
; CP/M vs. 2.1, hvor LST-enheden er en RC862 Microline 82 A
; Line Printer via RC 791 Line Selector.
; Dets funktion er at frigøre linjeskriverens SEL-funktion
; efter udskrifter i CP/M, - en facilitet, som ikke
; automatisk håndteres.
; Dernæst gøres den sidst udskrevne tekst fri for evt.
; afrivning af papiret.
; Endelig frigøres linjevælgeren (?) til andre brugere.
; Programmet foreligger som en  .COM-fil  og aktiveres ved
; ordren : 
;
;                       A> DROPLS 'RETURN'
;
;
; Referencer :	Microline 82 A User's Guide p.68.
;		CP/M Operating System Manual p.96.
;		CP/M for the RC702 Microcomputer System User's
;		Guide p.50.
;
;**************************************************************
;
;
ORG 100H
;
;Her håndteres linjeskriveren :
;******************************
;
	BDOS	EQU	5
	CR	EQU	13	;Carriage Return, vognretur
	ESC	EQU	27	;Escape
	VT	EQU	11	;Vertical Tabulator
;
;	Følgende konstanter kunne også benyttes, men 
;	det sker ikke her i forbindelse med Microline 82 A :
;	LF	EQU	10	;Line Feed, ny linje;
;	FF	EQU	12	;Form Feed, sideskift
;
	LXI	H,CHRS	;Pointer til karakter-sekvensen
MORE:	MVI	A,'$'	;Hent stop-karakteren
	MOV	E,M	;Hent en udskrift-karakter
	CMP	E	;Er det stop-karakteren ?
	JZ	RELS	;Hvis ja, så frigør Line Selector
			;Hvis nej, så send udskrift-karakteren
	PUSH	H	;Men bevar først pointeren
	MVI	C,5	;C:=5 : Funtion 5 : List Output
	CALL	BDOS
	POP	H	;Genkald den bevarede pointer
	INX	H	;Pointer til næste udskrift-karakter
	JMP	MORE	;En gang til ... 
;
CHRS:	DB	ESC,VT,'0','6',CR,'$'	; 6 stk. linjeskift
;					  og vognretur
;
;
;Her håndteres linjevælgeren :
;*****************************
;
;Først beregnes BIOS-adresse for Line Selector jvf. ref. :
	LS	EQU	0DA03H + 4DH
;
RELS:	MVI	A,1	;PORT : Printerport
	MVI	B,0	;FUNCTION : Release Line
	CALL	LS	;BIOS-adresse for Line Selector
	JMP	0	;CP/M Warm Start-adresse
	END
«eof»