4.3BSD/usr/contrib/icon/samples/sieve.u1

proc main
	local	0,000020,limit
	local	1,000020,s
	local	2,000020,i
	local	3,000000,set
	local	4,000000,insert
	local	5,000000,member
	local	6,000000,delete
	local	7,000000,primes
	local	8,000000,sort
	local	9,000000,write
	local	10,000000,right
	con	0,002000,100
	con	1,002000,1
	con	2,002000,2
	con	3,010000,10,124,150,145,162,145,040,141,162,145,040
	con	4,010000,21,040,160,162,151,155,145,163,040,151,156,040,164,150,145,040,146,151,162,163,164,040
	con	5,010000,10,040,151,156,164,145,147,145,162,163,056
	con	6,010000,15,124,150,145,040,160,162,151,155,145,163,040,141,162,145,072
	declend
	file	sieve.icn
	line	8
	mark	L1
	pnull
	var	0
	int	0
	line	10
	asgn
	unmark	1
lab L1
	mark	L2
	pnull
	var	1
	var	3
	pnull
	line	11
	llist	0
	invoke	1
	asgn
	unmark	1
lab L2
	mark	L3
	mark	L0
	var	4
	var	1
	pnull
	int	1
	var	0
	push1
	line	12
	toby
	invoke	2
	pop
lab L4
	efail
lab L5
	unmark	1
lab L3
	mark	L6
	mark	L0
	var	5
	var	1
	pnull
	var	2
	pnull
	int	2
	var	0
	push1
	line	13
	toby
	asgn
	invoke	2
	pop
	mark	L0
	mark	L0
	var	6
	var	1
	pnull
	pnull
	var	2
	var	2
	line	14
	plus
	var	0
	var	2
	toby
	invoke	2
	pop
lab L9
	efail
lab L10
	unmark	1
lab L7
	efail
lab L8
	unmark	1
lab L6
	mark	L11
	pnull
	var	7
	var	8
	var	1
	line	15
	invoke	1
	asgn
	unmark	1
lab L11
	mark	L12
	var	9
	str	3
	pnull
	var	7
	line	16
	size
	str	4
	var	0
	str	5
	invoke	5
	unmark	1
lab L12
	mark	L13
	var	9
	str	6
	line	17
	invoke	1
	unmark	1
lab L13
	mark	L14
	mark	L0
	var	9
	var	10
	pnull
	var	7
	line	18
	bang
	pnull
	pnull
	var	0
	size
	int	1
	plus
	invoke	2
	invoke	1
	pop
lab L15
	efail
lab L16
	unmark	1
lab L14
	pnull
	line	19
	pfail
	end