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