DataMuseum.dk

Presents historical artifacts from the history of:

Jet Computer Jet80

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

See our Wiki for more about Jet Computer Jet80

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦6f080f4c1⟧ TextFile

    Length: 1408 (0x580)
    Types: TextFile
    Names: »RESET.SRC«

Derivation

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

TextFile

;ROUTINE TO RESET AN INPUT FILE
;
	NAME RESET
	ENTRY RESET,L122
	EXT CLSOT,OPNIN,BYTIN,SCAN,MOVNAM
	include deflt.src
;
;SYSTEM FILE BUFFER STRUCTURE
;FIRST BYTE IS  FILES FLAG.BITS 0-EOLN,1-EOF,2-WRITTEN,3-PREVIOUS
;OPERATION A WRITE,4-RANDOMLY ACCESSED FILE.
;SECOND IS THE READ AHEAD BYTE FOR INPUT FILES

;RESET REOPENS AN INPUT FILE, SO A USER CAN
;READ IT FROM THE BEGINNING

;GET BUFFER ADDRESS FROM STACK
L122:
RESET:	PUSH	B		;SAVE <FNAM> LENGTH
	PUSH	Y
	CALL	SCAN
	JRNC	SKIP
	PUSH	H
	INX	H	;ADJUST POINTER  TO K2 BUFFER
	INX	H
	INX	H
	CALL	CLSOT
	XRA	A	;REMOVE IT FROM OUTPUT LIST
	STAX	B
	DCX	B
	STAX	B
	POP	H
SKIP:	MVI	M,0	;RESET ALL FLAGS
	POP	Y
	POP	B	;GET <FNAM> LENGTH
	POP	D	;RETURN ADDRESS
	INX	H
	INX	H
	INX	H
	CALL	MOVNAM
	JRC	YEOF	;SET END OF FILE, BAD FILENAME
	CALL	OPNIN	;REOPEN FILE
	JRC	YEOF	;SET END OF FILE, NO SUCH FILE EXISTS
;READ FIRST BYTE AND SET EOF AND EOLN FLAGS
	CALL	BYTIN
	MOV	C,A
	JRC	YEOF
	CPI	CR
	JRZ	YEOLN
	CPI	LF
	JRZ	YEOLN
	DCX	H
	DCX	H
	MOV	M,C	;STORE READ BYTE
	DCX	H
	XRA	A
	XCHG
	PCHL

;SET END OF FILE FLAG
YEOF:	DCX 	H
	DCX	H
	DCX	H
	BSET	1,M	;SET EOF FLAG
	JMPR	YCONT

;SET EOLN INDICATER
YEOLN:	XRA	A
	DCX	H
	DCX	H
	DCX	H
	RES	1,M	;SET EOF FLAG
YCONT:	BSET	0,M	;SET EOLN FLAG
	INX	H
	MOV	M,C	;STORE READ BYTE
	INX	H
	XCHG
	XRA	A	;CLEAR ACCUMULATOR
	PCHL

«eof»