SRI-NOSC/s1/diffB.s

Compare this file to the similar file:
Show the results in this format:

/	hash routine for diff
/	effectively spreads the string out into 7-bit
/	bytes, then sums the result 1's-complement
/	by 16-bit bytes and adds 1 to avoid zero answer

/	r4 hash accumulator
/	r3 current offset
/	r2 first time flag
.globl	_readhash
.globl _getc

.text
_readhash:
	mov	2(sp),0f
	mov	r5,-(sp)
	mov	r4,-(sp)
	mov	r3,-(sp)
	mov	r2,-(sp)
	mov	$1,r4
	mov	r4,r2
	clr	r3
1:
	mov	0f,(sp)
	jsr	pc,*$_getc
	tst	r0
	blt	2f
	clr	r2
	cmp	r0,$'\n
	beq	1f
	ashc	$-16.,r0
	ashc	r3,r0
	add	r0,r4
	adc	r4
	add	r1,r4
	adc	r4
	add	$7,r3
	cmp	r3,$16.
	blt	1b
	sub	$16.,r3
	br	1b
2:
	tst	r2
	bne	2f
	mov	$2,r0
	sys	write; 3f; 4f-3f
2:
	clr	r4
1:
	mov	r4,r0
	mov	(sp)+,r2
	mov	(sp)+,r3
	mov	(sp)+,r4
	mov	(sp)+,r5
	rts	pc
.data
3:
	<Incomplete line omitted\n>
4:
.even
.bss
0:	.=.+2