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 - download
Index: ┃ T x

⟦791437291⟧ TextFile

    Length: 1158 (0x486)
    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/vax/x_vlist.asm« 

TextFile

; Copyright    Barbara Liskov    1985

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

rep = null

create = qproc (n: int) returns (cvt) signals (toobig)
	mull	6,rr,n1
	movzwl	n1,n0
	ifeql	cmpl	n1,n0
	then	addl	7,n0
		bicb	3,n0
		subl	n0,heaplo
		iflss	cmpl	heaplo,freelo
		then	jsb	memout
		end
		movl	heaplo,rr
		movw	n1,(rr)
		movb	%bvecb,3(rr)
		return(rr)
	end
	signal	toobig
	end create

store = qproc (list: cvt, i: int, x, y, flags: int) signals (bounds)
	subl	1,i,n1
	mull	6,n1
	movl	list,n2
	movzwl	(n2),n3
	iflssu	cmpl	n1,n3
	then	movab	4(n2)[n1],n3
		movw	x,(n3)+
		movw	y,(n3)+
		movw	rr,(n3)
		return
	end
	signal	bounds
	end store

fetch = qproc (list: cvt, i: int) returns (int, int, int) signals (bounds)
	subl	1,rr,n1
	mull	6,n1
	movl	list,n2
	movzwl	(n2),n3
	iflssu	cmpl	n1,n3
	then	movab	4(n2)[n1],n3
		cvtwl	(n3)+,-(sp)
		cvtwl	(n3)+,-(sp)
		movzwl	(n3),rr
		return(*, *, *)
	end
	signal	bounds
	end fetch

size = qproc (list: cvt) returns (int)
	movzwl	(rr),rr
	divl	6,rr
	return(rr)
	end size

equal = qproc (list1, list2: cvt) returns (bool)
	ifeql	cmpl	list1,rr
	then	return(true)
	end
	return(false)
	end equal

end x_vlist