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

⟦e10656830⟧ TextFile

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

Derivation

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

TextFile

;CLOSE OUTPUT FILES WHEN ERROR DETECTED
;
	NAME ERROR
	ENTRY ERROR,L0
	EXT PSTAT,TIN,CLSOT,MXOUT
	include deflt.src
;
ERROR:	EXX			;CHECK STATEMENT NUMBER
	MOV	A,B
	ORA	C
	CNZ	PSTAT		;PRINT NON-ZERO STATEMENT NUMBER
	EXX
ERR1:	CALL	TIN		;ERROR EXIT ROUTINES ARE THE SAME
	JRNC	ERR1		;AS NORMAL EXIT BUT EMPTY TXTIN FIRST
;
;
L0:	INX	Y
	LXI	B,MXOUT	;CLOSE ALL REMAINING OPEN OUTPUT FILES
L0A:	MOV	H,1(Y)		;GET NEXT ADDRESS
	MOV	L,0(Y)		;AND CHECK FOR NON-ZERO
	INX	Y		;BUMP POINTER
	INX	Y
	MOV	A,H
	ORA	L
	INX	H		;ADD 3 TO POINTER IN CASE
	INX	H		;IT'S A FILE POINTER
	INX	H
	CNZ	CLSOT		;CLOSE FILE FOR NON-ZERO POINTER
	DJNZ	L0A		;GO CHECK NEXT POINTER IF THERE IS ONE
	JMP	RESTRT		;ALL DONE
;
«eof»