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

proc main
	local	0,000000,write
	local	1,000000,Galt
	local	2,000000,Seqimage
	local	3,000000,star
	local	4,000000,Limit
	local	5,000000,Ranseq
	con	0,002000,1
	con	1,002000,10
	con	2,010000,4,141,142,143,144
	con	3,010000,3,141,142,143
	con	4,002000,1000
	con	5,002000,5
	con	6,010000,3,055,055,055
	con	7,002000,100
	con	8,002000,3
	con	9,010000,4,010,055,055,055
	declend
	file	pdco.icn
	line	9
	mark	L1
	mark	L0
	var	0
	var	1
	pnull
	goto	L6
lab L4
	pop
	mark	L5
	pnull
	int	0
	int	1
	push1
	line	10
	toby
	incres
	coret
	efail
lab L5
	line	10
	cofail
	goto	L5
lab L6
	line	10
	create	L4
	goto	L9
lab L7
	pop
	mark	L8
	pnull
	str	2
	bang
	incres
	coret
	efail
lab L8
	line	10
	cofail
	goto	L8
lab L9
	line	10
	create	L7
	goto	L12
lab L10
	pop
	mark	L11
	pnull
	int	0
	int	1
	push1
	toby
	incres
	coret
	efail
lab L11
	line	10
	cofail
	goto	L11
lab L12
	line	10
	create	L10
	llist	3
	invoke	1
	invoke	1
	pop
lab L2
	efail
lab L3
	unmark	1
lab L1
	mark	L13
	var	0
	var	2
	pnull
	goto	L16
lab L14
	pop
	mark	L15
	int	1
	line	11
	limit
	mark	L0
	var	3
	str	3
	invoke	1
	lsusp
	incres
	coret
	efail
lab L15
	line	11
	cofail
	goto	L15
lab L16
	line	11
	create	L14
	llist	1
	invoke	1
	invoke	1
	unmark	1
lab L13
	mark	L17
	var	0
	var	2
	pnull
	goto	L20
lab L18
	pop
	mark	L19
	pnull
	int	0
	int	4
	push1
	line	12
	toby
	incres
	coret
	efail
lab L19
	line	12
	cofail
	goto	L19
lab L20
	line	12
	create	L18
	goto	L23
lab L21
	pop
	mark	L22
	int	5
	incres
	coret
	efail
lab L22
	line	12
	cofail
	goto	L22
lab L23
	line	12
	create	L21
	llist	2
	invoke	1
	invoke	1
	unmark	1
lab L17
	mark	L24
	var	0
	str	6
	line	13
	invoke	1
	unmark	1
lab L24
	mark	L25
	mark	L0
	var	0
	var	4
	pnull
	goto	L30
lab L28
	pop
	mark	L29
	pnull
	int	0
	int	7
	push1
	line	14
	toby
	incres
	coret
	efail
lab L29
	line	14
	cofail
	goto	L29
lab L30
	line	14
	create	L28
	goto	L33
lab L31
	pop
	mark	L32
	int	8
	incres
	coret
	efail
lab L32
	line	14
	cofail
	goto	L32
lab L33
	line	14
	create	L31
	llist	2
	invoke	1
	invoke	1
	pop
lab L26
	efail
lab L27
	unmark	1
lab L25
	mark	L34
	var	0
	str	9
	line	15
	invoke	1
	unmark	1
lab L34
	mark	L35
	mark	L0
	var	0
	var	5
	pnull
	goto	L40
lab L38
	pop
	mark	L39
	pnull
	str	2
	line	16
	bang
	incres
	coret
	efail
lab L39
	line	16
	cofail
	goto	L39
lab L40
	line	16
	create	L38
	goto	L43
lab L41
	pop
	mark	L42
	pnull
	int	0
	int	1
	push1
	toby
	incres
	coret
	efail
lab L42
	line	16
	cofail
	goto	L42
lab L43
	line	16
	create	L41
	llist	2
	invoke	1
	invoke	1
	pop
lab L36
	efail
lab L37
	unmark	1
lab L35
	pnull
	line	17
	pfail
	end
proc star
	local	0,001000,s
	local	1,000000,star
	con	0,010000,0
	declend
	file	pdco.icn
	line	19
	mark	L1
	mark	L0
	mark	L2
	str	0
	esusp
	goto	L3
lab L2
	pnull
	var	1
	var	0
	line	20
	invoke	1
	pnull
	var	0
	bang
	cat
lab L3
	psusp
	efail
	unmark	1
lab L1
	pnull
	line	21
	pfail
	end
proc Galt
	local	0,001000,a
	local	1,000020,e
	declend
	file	pdco.icn
	line	23
	mark	L1
	mark	L0
	pnull
	var	1
	pnull
	var	0
	line	25
	bang
	asgn
	pop
	mark	L0
	mark	L0
lab L4
	mark	L0
	pnull
	var	1
	coact
	chfail	L4
	esusp
	psusp
	efail
	unmark	1
lab L2
	efail
lab L3
	unmark	1
lab L1
	pnull
	line	26
	pfail
	end
proc Limit
	local	0,001000,a
	local	1,000020,i
	local	2,000020,x
	con	0,002000,2
	con	1,002000,1
	declend
	file	pdco.icn
	line	28
	mark	L1
lab L2
	line	30
	mark	L0
	pnull
	var	1
	pnull
	pnull
	var	0
	int	0
	subsc
	coact
	asgn
	unmark	1
	mark	L2
	mark	L5
	pnull
	pnull
	var	0
	int	1
	line	31
	subsc
	pnull
	pnull
	var	0
	int	1
	subsc
	refresh
	asgn
	unmark	1
lab L5
	mark	L0
	pnull
	int	1
	var	1
	push1
	line	32
	toby
	pop
	mark	L0
	mark	L8
	pnull
	var	2
	pnull
	pnull
	var	0
	int	1
	line	33
	subsc
	coact
	asgn
	unmark	1
	mark	L0
	var	2
	psusp
	efail
	goto	L9
lab L8
	unmark	2
	pnull
	goto	L7
lab L9
	unmark	1
lab L6
	efail
lab L7
lab L3
	unmark	1
	goto	L2
lab L4
	unmark	1
lab L1
	pnull
	line	36
	pfail
	end
proc Ranseq
	local	0,001000,a
	local	1,000020,x
	declend
	file	pdco.icn
	line	38
	mark	L1
lab L2
	line	40
	mark	L0
	pnull
	var	1
	pnull
	pnull
	var	0
	random
	coact
	asgn
	unmark	1
	mark	L2
	mark	L0
	var	1
	psusp
	efail
lab L3
	unmark	1
	goto	L2
lab L4
	unmark	1
lab L1
	pnull
	line	41
	pfail
	end
proc Seqimage
	local	0,001000,a
	local	1,000020,seq
	local	2,000020,result
	local	3,000020,i
	local	4,000000,image
	con	0,010000,0
	con	1,002000,2
	con	2,002000,1
	con	3,010000,5,054,040,056,056,056
	con	4,010000,2,054,040
	con	5,010000,1,173
	con	6,002000,3
	con	7,002000,0
	con	8,010000,1,175
	con	9,010000,2,173,175
	declend
	file	pdco.icn
	line	43
	mark	L1
	pnull
	var	1
	str	0
	line	45
	asgn
	unmark	1
lab L1
	mark	L2
	pnull
	var	3
	pnull
	pnull
	var	0
	int	1
	line	46
	subsc
	coact
	asgn
	unmark	1
lab L2
	mark	L3
lab L4
	line	47
	mark	L0
	pnull
	var	2
	var	4
	pnull
	pnull
	var	0
	int	2
	subsc
	coact
	invoke	1
	asgn
	unmark	1
	mark	L4
	mark	L7
	pnull
	pnull
	pnull
	var	0
	int	2
	line	48
	subsc
	size
	pnull
	var	3
	nonnull
	numgt
	unmark	1
	mark	L9
	pnull
	var	1
	dup
	str	3
	line	49
	cat
	asgn
	unmark	1
lab L9
	unmark	1
	pnull
	goto	L6
	goto	L8
lab L7
	pnull
	var	1
	dup
	pnull
	str	4
	var	2
	line	52
	cat
	cat
	asgn
lab L8
lab L5
	unmark	1
	goto	L4
lab L6
	unmark	1
lab L3
	mark	L10
	mark	L11
	mark	L12
	pnull
	pnull
	str	5
	pnull
	var	1
	int	6
	int	7
	line	53
	sect
	cat
	str	8
	cat
	esusp
	goto	L13
lab L12
	str	9
lab L13
	pret
lab L11
	line	53
	pfail
	unmark	1
lab L10
	pnull
	line	54
	pfail
	end