DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

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

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T x

⟦f49d02da7⟧ TextFile

    Length: 1424 (0x590)
    Types: TextFile
    Names: »x_vlist.asm«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z« 
        └─⟦2109abc41⟧ 
            └─⟦this⟧ »./X.V10R4/CLUlib/sun/x_vlist.asm« 

TextFile

; Copyright    Barbara Liskov    1986

x_vlist = cluster is create, fetch, store, size, equal

rep = null

create = qproc (n: int) returns (cvt) signals (toobig)
	ifle	move	rr,n1
		blt	next
		cmpi	#5,,#5555,n1
	then	add	n1,n1
		add	rr,n1
		add	n1,n1
		subq	5,n1
		move	n1,n2
		asr	1,n2
		addq	7,n2
		andib	-4,n2
		movea	heaphi,rr
		iflt	sub	n2,freecnt
		then	jsr	memout
		end
		add	n2,heaphi
		move	n1,(rr)
		return(rr)
	end
	signal	toobig
	end create

store = qproc (list: cvt, i: int, x, y, flags: int) signals (bounds)
	move	i,n2
	subq	5,n2
	add	n2,n2
	add	i,n2
	addq	1,n2
	movea	list,r1
	move	(r1),n1
	asr	1,n1
	ifhi	cmp	n2,n1
	then	lea	4(r1,n2),r1
		move	x,n1
		asr	1,n1
		movew	n1,(r1)+
		move	y,n1
		asr	1,n1
		movew	n1,(r1)+
		move	rr,n1
		asr	1,n1
		movew	n1,(r1)
		movea	n0,r1
		return
	end
	signal	bounds
	end store

fetch = qproc (list: cvt, i: int) returns (int, int, int) signals (bounds)
	move	rr,n1
	subq	5,n1
	add	n1,n1
	lea	1(rr,n1),rr
	movea	list,r1
	move	(r1),n1
	asr	1,n1
	ifhi	cmp	rr,n1
	then	lea	4(r1,rr),rr
		moveaw	(rr)+,r1
		pea	1(r1,r1)
		moveaw	(rr)+,r1
		pea	1(r1,r1)
		moveaw	(rr),rr
		lea	1(rr,rr),rr
		return(*, *, *)
	end
	signal	bounds
	end fetch

size = qproc (list: cvt) returns (int)
	move	(rr),n1
	asr	1,n1
	divu	3,n1
	moveaw	n1,rr
	addq	1,rr
	return(rr)
	end size

equal = qproc (list1, list2: cvt) returns (bool)
	moveq	0,n1
	cmpa	list1,rr
	seq	n1
	return(n1)
	end equal

end x_vlist