;*********************************************************
; NAMN		:	PROM - TEST
; PROGRAMMERARE	:	L-O/IND
; DATUM		:	86-10-14
; MODIFIERAD	:	
;*********************************************************
;
; SYFTE		:	Kontrollera att PROM {r of|r{ndrat
;
; ANROPAS FR]N	:	tknkoll
;
; SUBRUTINER
;    EXTERNA	:	PUTNUM	Konverterar testresultatet
;				till HEX-tecken och
;				anropar PUTCHR
;			PUTCHR	L{gger tkn i tx-buffert
;
;*********************************************************
;
	FORMLN	42
	NAME	PROMTEST

	INCLUDE	TMC.H
;
COMND	EQU	'H'		; Kommando = H
;
; LABLAR:
;
	EXTERN	PUTNUM, PUTCHR, CHKSUM
;
	INTERN	PRMTST, PRMEND
;
	PAGE
;*********************************************************
;
; L{s i f|rsta adressen
; REPEAT "Sum"
;     N{sta adress
;     Addera
; END "Sum" WHEN sista adressen
; "PUTCHAR" 'STX'
; "PUTNUM" framr{knad summa
; "PUTCHAR" kommando
;
;*********************************************************
;
	RSECT	PROM
;
PRMTST:
	PUSH	AF
	PUSH	BC
	PUSH	DE
	PUSH	HL
;
	LD	DE,PRMEND	; Stoppadr
	SRL	D		; Promstorlek
	RR	E		; /2
;
	LD	HL,0		; Ackumulator
	LD	IY,0		; Pekare
ADDLOP:
	LD	C,(IY+0)	; LSByte
	INC	IY
	LD	B,(IY+0)	; MSByte
	ADD	HL,BC		; Checksumman
	INC	IY
	DEC	DE		;
	LD	A,D		; Sista adressen?
	OR	E		;
	JP	NZ,ADDLOP	; Nej
SNDSTX:
	LD	A,STX		; Ja
	CALL	PUTCHR		; Skicka STX
;
	LD	A,H		; 
	CALL	PUTNUM		; Skicka framr{knad summa
	LD	A,L		;
	CALL	PUTNUM		;
SNDCMD:
	LD	A,COMND		; 
	CALL	PUTCHR		; Skicka kommandot
;
	POP	HL
	POP	DE
	POP	BC
	POP	AF
;
	RET
;
PRMEND:
;
	END
