COPE-06 Control Structures.indd
34
3
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
4
3
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
Im
p
er
at
iv
e
P
ro
gr
am
m
in
g
Es
se
n
ti
al
c
o
n
tr
o
l
st
ru
ct
u
re
s
fo
r
al
l
im
p
e
ra
ti
ve
p
ro
g
ra
m
m
in
g
l
an
g
u
ag
e
s
ar
e
:
•
C
o
n
d
it
io
n
al
s:
i
f
, c
a
s
e
, s
w
i
t
c
h
, …
•
O
p
e
n
L
o
o
p
s:
w
h
i
l
e
, r
e
p
e
a
t
, …
•
B
o
u
n
d
L
o
o
p
s:
f
o
r
, f
o
r
e
a
c
h
, f
o
r
a
l
l
, …
•
P
ro
ce
d
u
re
s
an
d
F
u
n
ct
io
n
s
(a
lr
e
ad
y
co
ve
re
d
)
H
o
w
d
o
w
e
c
re
at
e
t
h
o
se
b
as
ic
c
o
n
tr
o
l
st
ru
ct
u
re
s
in
A
ss
e
m
b
ly
?
Fu
n
ct
io
n
al
p
ro
g
ra
m
m
in
g
la
n
g
u
ag
e
s
ar
e
b
as
e
d
o
n
f
u
n
ct
io
n
s,
b
u
t
al
so
o
n
c
o
n
d
it
io
n
al
e
xp
re
ss
io
n
s.
H
o
w
d
o
t
h
o
se
c
o
n
tr
o
l
st
ru
ct
u
re
s
in
p
ro
g
ra
m
m
in
g
la
n
g
u
ag
e
s
tr
an
sl
at
e
i
n
to
A
ss
e
m
b
ly
?
34
1
6
C
o
n
tr
o
l
St
ru
ct
u
re
s
U
w
e
R
.
Z
im
m
er
–
T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
C
o
m
p
u
te
r
O
rg
an
is
at
io
n
&
P
ro
g
ra
m
E
xe
cu
ti
o
n
2
02
1
34
4
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
4
4
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
IF
-E
LS
E
i
f
R
e
g
i
s
t
e
r
_
1
=
R
e
g
i
s
t
e
r
_
2
t
h
e
n
R
e
g
i
s
t
e
r
_
3
:
=
1
;
e
l
s
e
R
e
g
i
s
t
e
r
_
3
:
=
0
;
e
n
d
i
f
;
i
f
(
r
e
g
i
s
t
e
r
1
=
=
r
e
g
i
s
t
e
r
2
)
{
r
e
g
i
s
t
e
r
3
=
1
;
}
e
l
s
e
{
r
e
g
i
s
t
e
r
3
=
0
;
} R
e
g
i
s
t
e
r
_
3
:
=
(
i
f
R
e
g
i
s
t
e
r
_
1
=
R
e
g
i
s
t
e
r
_
2
t
h
e
n
1
e
l
s
e
0
)
;
r
e
g
i
s
t
e
r
_
3
r
e
g
i
s
t
e
r
_
1
r
e
g
i
s
t
e
r
_
2
=
c
a
s
e
r
e
g
i
s
t
e
r
_
1
=
=
r
e
g
i
s
t
e
r
_
2
o
f
T
r
u
e
–
>
1
F
a
l
s
e
–
>
0
i
f
r
e
g
i
s
t
e
r
1
=
=
r
e
g
i
s
t
e
r
2
:
r
e
g
i
s
t
e
r
3
=
1
e
l
s
e
:
r
e
g
i
s
t
e
r
3
=
0
…
s
am
e
s
tr
u
ct
u
re
?
…
m
an
y
sy
n
ta
x
ve
rs
io
n
s?
34
2
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
4
2
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
R
ef
er
en
ce
s
fo
r
th
is
c
h
ap
te
r
[P
at
te
rs
o
n
17
]
D
av
id
A
. P
at
te
rs
o
n
&
J
o
h
n
L
. H
e
n
n
e
ss
y
C
o
m
p
u
te
r
O
rg
an
iz
at
io
n
a
n
d
D
e
si
g
n
–
T
h
e
H
ar
d
w
ar
e
/S
o
ft
w
ar
e
I
n
te
rf
ac
e
C
h
ap
te
r
2
“I
n
st
ru
ct
io
n
s:
L
an
g
u
ag
e
o
f
th
e
C
o
m
p
u
te
r”
A
R
M
e
d
it
io
n
, M
o
rg
an
K
au
fm
an
n
2
01
7
34
7
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
4
7
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
IF
-E
LS
E
A
ss
u
m
in
g
t
h
e
v
al
u
e
s
h
av
e
a
lr
e
ad
y
b
e
e
n
t
ra
n
sf
e
rr
e
d
f
ro
m
m
e
m
o
ry
i
n
to
r
e
g
is
te
rs
:
.
m
a
c
r
o
i
f
c
o
n
d
i
t
i
o
n
_
c
o
d
e
c
o
n
d
i
t
i
o
n
t
h
e
n
_
c
o
d
e
e
l
s
e
_
c
o
d
e
\
c
o
n
d
i
t
i
o
n
_
c
o
d
e
b
\
c
o
n
d
i
t
i
o
n
t
h
e
n
\
e
l
s
e
_
c
o
d
e
b
e
n
d
_
i
f
t
h
e
n
:
\
t
h
e
n
_
c
o
d
e
e
n
d
_
i
f
:
.
e
n
d
m
34
5
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
4
5
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
IF
-E
LS
E
i
f
R
e
g
i
s
t
e
r
_
1
=
R
e
g
i
s
t
e
r
_
2
t
h
e
n
R
e
g
i
s
t
e
r
_
3
:
=
1
;
e
l
s
e
R
e
g
i
s
t
e
r
_
3
:
=
0
;
e
n
d
i
f
;
i
f
(
r
e
g
i
s
t
e
r
1
=
=
r
e
g
i
s
t
e
r
2
)
{
r
e
g
i
s
t
e
r
3
=
1
;
}
e
l
s
e
{
r
e
g
i
s
t
e
r
3
=
0
;
} R
e
g
i
s
t
e
r
_
3
:
=
(
i
f
R
e
g
i
s
t
e
r
_
1
=
R
e
g
i
s
t
e
r
_
2
t
h
e
n
1
e
l
s
e
0
)
;
r
e
g
i
s
t
e
r
_
3
r
e
g
i
s
t
e
r
_
1
r
e
g
i
s
t
e
r
_
2
=
c
a
s
e
r
e
g
i
s
t
e
r
_
1
=
=
r
e
g
i
s
t
e
r
_
2
o
f
T
r
u
e
–
>
1
F
a
l
s
e
–
>
0
i
f
r
e
g
i
s
t
e
r
1
=
=
r
e
g
i
s
t
e
r
2
:
r
e
g
i
s
t
e
r
3
=
1
e
l
s
e
:
r
e
g
i
s
t
e
r
3
=
0
1.
a
n
e
xp
re
ss
io
n
(
if
)
2.
a
b
o
o
le
an
c
o
n
d
it
io
n
(
if
)
3.
c
o
d
e
f
o
r
Tr
u
e
(
th
e
n
)
4.
c
o
d
e
f
o
r
Fa
ls
e
(
e
ls
e
)
H
o
w
d
o
e
it
h
e
r
o
f
th
o
se
lo
o
k
i
n
a
ss
e
m
b
ly
?
34
8
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
4
8
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
IF
-E
LS
E
A
ss
u
m
in
g
t
h
e
v
al
u
e
s
h
av
e
a
lr
e
ad
y
b
e
e
n
t
ra
n
sf
e
rr
e
d
f
ro
m
m
e
m
o
ry
i
n
to
r
e
g
is
te
rs
:
.
m
a
c
r
o
i
f
c
o
n
d
i
t
i
o
n
_
c
o
d
e
c
o
n
d
i
t
i
o
n
t
h
e
n
_
c
o
d
e
e
l
s
e
_
c
o
d
e
\
c
o
n
d
i
t
i
o
n
_
c
o
d
e
b
\
c
o
n
d
i
t
i
o
n
t
h
e
n
\
e
l
s
e
_
c
o
d
e
b
e
n
d
_
i
f
t
h
e
n
:
\
t
h
e
n
_
c
o
d
e
e
n
d
_
i
f
:
.
e
n
d
m
W
e
m
ig
h
t
n
e
e
d
a
l
o
t
o
f
th
o
se
,
h
e
n
ce
t
h
e
l
ab
e
ls
n
e
e
d
t
o
b
e
u
n
iq
u
e
t
o
e
ac
h
i
f-
e
ls
e
b
lo
ck
.
34
6
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
4
6
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
IF
-E
LS
E
A
ss
u
m
in
g
t
h
e
v
al
u
e
s
h
av
e
a
lr
e
ad
y
b
e
e
n
t
ra
n
sf
e
rr
e
d
f
ro
m
m
e
m
o
ry
i
n
to
r
e
g
is
te
rs
:
c
m
p
r
1
,
r
2
;
1
.
I
n
s
t
r
u
c
t
i
o
n
s
t
o
g
e
n
e
r
a
t
e
s
t
a
t
u
s
f
l
a
g
s
b
e
q
t
h
e
n
;
2
.
B
r
a
n
c
h
d
e
p
e
n
d
i
n
g
o
n
t
h
e
s
t
a
t
u
s
f
l
a
g
s
m
o
v
r
3
,
#
0
;
4
.
I
n
s
t
r
u
c
t
i
o
n
s
f
o
r
t
h
e
e
l
s
e
b
r
a
n
c
h
b
e
n
d
_
i
f
t
h
e
n
:
m
o
v
r
3
,
#
1
;
3
.
I
n
s
t
r
u
c
t
i
o
n
s
f
o
r
t
h
e
t
h
e
n
b
r
a
n
c
h
e
n
d
_
i
f
:
It
s
e
e
m
s
th
e
re
a
re
t
h
re
e
d
is
ti
n
g
u
is
h
ab
le
c
o
d
e
s
e
ct
io
n
s
an
d
o
n
e
s
ta
tu
s
fl
ag
c
o
n
d
it
io
n
.
C
an
w
e
f
o
rm
a
g
e
n
e
ra
l
p
at
te
rn
f
o
r
th
is
?
35
1
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
5
1
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
IF
-E
LS
E
i
f
R
e
g
i
s
t
e
r
_
1
=
R
e
g
i
s
t
e
r
_
2
t
h
e
n
R
e
g
i
s
t
e
r
_
3
:
=
1
;
e
l
s
e
R
e
g
i
s
t
e
r
_
3
:
=
0
;
e
n
d
i
f
;
i
f
(
r
e
g
i
s
t
e
r
1
=
=
r
e
g
i
s
t
e
r
2
)
{
r
e
g
i
s
t
e
r
3
=
1
;
}
e
l
s
e
{
r
e
g
i
s
t
e
r
3
=
0
;
} R
e
g
i
s
t
e
r
_
3
:
=
(
i
f
R
e
g
i
s
t
e
r
_
1
=
R
e
g
i
s
t
e
r
_
2
t
h
e
n
1
e
l
s
e
0
)
;
r
e
g
i
s
t
e
r
_
3
r
e
g
i
s
t
e
r
_
1
r
e
g
i
s
t
e
r
_
2
=
c
a
s
e
r
e
g
i
s
t
e
r
_
1
=
=
r
e
g
i
s
t
e
r
_
2
o
f
T
r
u
e
–
>
1
F
a
l
s
e
–
>
0
i
f
r
e
g
i
s
t
e
r
1
=
=
r
e
g
i
s
t
e
r
2
:
r
e
g
i
s
t
e
r
3
=
1
e
l
s
e
:
r
e
g
i
s
t
e
r
3
=
0
.
m
a
c
r
o
i
f
c
o
n
d
i
t
i
o
n
_
c
o
d
e
c
o
n
d
i
t
i
o
n
t
h
e
n
e
l
s
e
\
c
o
n
d
i
t
i
o
n
_
c
o
d
e
b
\
c
o
n
d
i
t
i
o
n
t
h
e
n
\
e
l
s
e
b
e
n
d
_
i
f
t
h
e
n
:
\
t
h
e
n
e
n
d
_
i
f
:
.
e
n
d
m
34
9
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
4
9
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
IF
-E
LS
E
A
ss
u
m
in
g
t
h
e
v
al
u
e
s
h
av
e
a
lr
e
ad
y
b
e
e
n
t
ra
n
sf
e
rr
e
d
f
ro
m
m
e
m
o
ry
i
n
to
r
e
g
is
te
rs
:
.
m
a
c
r
o
i
f
c
o
n
d
i
t
i
o
n
_
c
o
d
e
c
o
n
d
i
t
i
o
n
t
h
e
n
_
c
o
d
e
e
l
s
e
_
c
o
d
e
\
c
o
n
d
i
t
i
o
n
_
c
o
d
e
b
\
c
o
n
d
i
t
i
o
n
t
h
e
n
\
@
\
e
l
s
e
_
c
o
d
e
b
e
n
d
_
i
f
\
@
t
h
e
n
\
@
:
\
t
h
e
n
_
c
o
d
e
e
n
d
_
i
f
\
@
:
.
e
n
d
m
35
2
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
5
2
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
IF
-E
LS
E
i
f
R
e
g
i
s
t
e
r
_
1
=
R
e
g
i
s
t
e
r
_
2
t
h
e
n
R
e
g
i
s
t
e
r
_
3
:
=
1
;
e
l
s
e
R
e
g
i
s
t
e
r
_
3
:
=
0
;
e
n
d
i
f
;
i
f
(
r
e
g
i
s
t
e
r
1
=
=
r
e
g
i
s
t
e
r
2
)
{
r
e
g
i
s
t
e
r
3
=
1
;
}
e
l
s
e
{
r
e
g
i
s
t
e
r
3
=
0
;
} R
e
g
i
s
t
e
r
_
3
:
=
(
i
f
R
e
g
i
s
t
e
r
_
1
=
R
e
g
i
s
t
e
r
_
2
t
h
e
n
1
e
l
s
e
0
)
;
r
e
g
i
s
t
e
r
_
3
r
e
g
i
s
t
e
r
_
1
r
e
g
i
s
t
e
r
_
2
=
c
a
s
e
r
e
g
i
s
t
e
r
_
1
=
=
r
e
g
i
s
t
e
r
_
2
o
f
T
r
u
e
–
>
1
F
a
l
s
e
–
>
0
i
f
r
e
g
i
s
t
e
r
1
=
=
r
e
g
i
s
t
e
r
2
:
r
e
g
i
s
t
e
r
3
=
1
e
l
s
e
:
r
e
g
i
s
t
e
r
3
=
0
i
f
“
c
m
p
r
1
,
r
2
”
,
e
q
,
“
m
o
v
r
3
,
#
1
”
,
“
m
o
v
r
3
,
#
0
”
35
0
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
5
0
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
IF
-E
LS
E
A
ss
u
m
in
g
t
h
e
v
al
u
e
s
h
av
e
a
lr
e
ad
y
b
e
e
n
t
ra
n
sf
e
rr
e
d
f
ro
m
m
e
m
o
ry
i
n
to
r
e
g
is
te
rs
:
.
m
a
c
r
o
i
f
c
o
n
d
i
t
i
o
n
_
c
o
d
e
c
o
n
d
i
t
i
o
n
t
h
e
n
_
c
o
d
e
e
l
s
e
_
c
o
d
e
\
c
o
n
d
i
t
i
o
n
_
c
o
d
e
b
\
c
o
n
d
i
t
i
o
n
t
h
e
n
\
@
\
e
l
s
e
_
c
o
d
e
b
e
n
d
_
i
f
\
@
t
h
e
n
\
@
:
\
t
h
e
n
_
c
o
d
e
e
n
d
_
i
f
\
@
:
.
e
n
d
m
W
e
c
an
n
o
w
w
ri
te
:
i
f
“
c
m
p
r
1
,
r
2
”
,
e
q
,
“
m
o
v
r
3
,
#
1
”
,
“
m
o
v
r
3
,
#
0
”
…
i
n
t
h
e
g
e
n
e
ra
l
ca
se
(
w
it
h
l
o
ts
o
f
co
d
e
i
n
e
ac
h
p
ar
t)
w
e
c
o
u
ld
c
re
at
e
m
ac
ro
s
fo
r
th
e
i
n
d
iv
id
u
al
s
e
ct
io
n
s
as
w
e
ll
, s
o
w
e
c
an
e
.g
. w
ri
te
:
i
f
c
o
m
p
a
r
e
_
r
1
_
r
2
,
e
q
,
l
o
a
d
_
1
_
t
o
_
r
3
,
l
o
a
d
_
0
_
t
o
_
r
3
35
5
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
5
5
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
Lo
o
p
s
–
FO
R
f
o
r
R
e
g
i
s
t
e
r
_
1
i
n
1
.
.
1
0
0
l
o
o
p
R
e
g
i
s
t
e
r
_
3
:
=
R
e
g
i
s
t
e
r
_
3
+
R
e
g
i
s
t
e
r
_
1
;
e
n
d
l
o
o
p
;
f
o
r
(
r
e
g
i
s
t
e
r
1
=
1
;
r
e
g
i
s
t
e
r
1
< = 1 0 0 ; r e g i s t e r 1 + + ) { r e g i s t e r 3 + = r e g i s t e r 1 ; } f o r r e g i s t e r 1 i n r a n g e ( 1 , 1 0 1 ) : r e g i s t e r 3 + = r e g i s t e r 1 f o r R e g i s t e r _ 1 : = 1 t o 1 0 0 d o R e g i s t e r _ 3 : = R e g i s t e r _ 3 + R e g i s t e r _ 1 ; d o R e g i s t e r _ 1 = 1 , 1 0 0 R e g i s t e r _ 3 = R e g i s t e r _ 3 + R e g i s t e r _ 1 e n d d o f o r R e g i s t e r _ 1 i n 1 . . 1 0 0 d o R e g i s t e r _ 3 + = R e g i s t e r _ 1 ; 1. a n in d ex 2. a s ta rt v al u e 3. a n e n d v al u e 4. c o d e in si d e l o o p H o w d o e it h e r o f th o se lo o k i n a ss e m b ly ? 35 3 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 5 3 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) C o n d it io n al s – IF -E LS E i f R e g i s t e r _ 1 = R e g i s t e r _ 2 t h e n R e g i s t e r _ 3 : = 1 ; e l s e R e g i s t e r _ 3 : = 0 ; e n d i f ; i f ( r e g i s t e r 1 = = r e g i s t e r 2 ) { r e g i s t e r 3 = 1 ; } e l s e { r e g i s t e r 3 = 0 ; } R e g i s t e r _ 3 : = ( i f R e g i s t e r _ 1 = R e g i s t e r _ 2 t h e n 1 e l s e 0 ) ; r e g i s t e r _ 3 r e g i s t e r _ 1 r e g i s t e r _ 2 = c a s e r e g i s t e r _ 1 = = r e g i s t e r _ 2 o f T r u e - >
1
F
a
l
s
e
–
>
0
i
f
r
e
g
i
s
t
e
r
1
=
=
r
e
g
i
s
t
e
r
2
:
r
e
g
i
s
t
e
r
3
=
1
e
l
s
e
:
r
e
g
i
s
t
e
r
3
=
0
c
m
p
r
1
,
r
2
b
e
q
t
h
e
n
m
o
v
r
3
,
#
0
b
e
n
d
_
i
f
t
h
e
n
:
m
o
v
r
3
,
#
1
e
n
d
_
i
f
:
C
o
m
p
u
ta
ti
o
n
al
c
o
m
p
le
xi
ty
:
1
H
^
h
35
6
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
5
6
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
Lo
o
p
s
–
FO
R
A
ss
u
m
in
g
t
h
e
v
al
u
e
s
h
av
e
a
lr
e
ad
y
b
e
e
n
t
ra
n
sf
e
rr
e
d
f
ro
m
m
e
m
o
ry
i
n
to
r
e
g
is
te
rs
:
m
o
v
r
1
,
#
1
;
s
e
t
i
n
d
e
x
t
o
s
t
a
r
t
v
a
l
u
e
f
o
r
:
c
m
p
r
1
,
#
1
0
0
;
c
h
e
c
k
w
h
e
t
h
e
r
i
t
w
e
n
t
b
e
y
o
n
d
i
t
s
e
n
d
v
a
l
u
e
b
g
t
e
n
d
_
f
o
r
;
i
f
s
o
,
s
t
o
p
t
h
e
l
o
o
p
a
d
d
r
3
,
r
1
;
d
o
t
h
e
w
o
r
k
a
d
d
r
1
,
#
1
;
i
n
c
r
e
m
e
n
t
t
h
e
i
n
d
e
x
b
f
o
r
e
n
d
_
f
o
r
:
W
e
c
an
fi
n
d
t
h
e
i
n
d
e
x,
t
h
e
s
ta
rt
a
n
d
e
n
d
v
al
u
e
s
an
d
t
h
e
b
o
d
y
co
d
e
.
C
an
w
e
f
o
rm
a
g
e
n
e
ra
l
p
at
te
rn
f
o
r
th
is
?
35
4
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
5
4
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
Lo
o
p
s
–
FO
R
f
o
r
R
e
g
i
s
t
e
r
_
1
i
n
1
.
.
1
0
0
l
o
o
p
R
e
g
i
s
t
e
r
_
3
:
=
R
e
g
i
s
t
e
r
_
3
+
R
e
g
i
s
t
e
r
_
1
;
e
n
d
l
o
o
p
;
f
o
r
(
r
e
g
i
s
t
e
r
1
=
1
;
r
e
g
i
s
t
e
r
1
< = 1 0 0 ; r e g i s t e r 1 + + ) { r e g i s t e r 3 + = r e g i s t e r 1 ; } f o r r e g i s t e r 1 i n r a n g e ( 1 , 1 0 1 ) : r e g i s t e r 3 + = r e g i s t e r 1 f o r R e g i s t e r _ 1 : = 1 t o 1 0 0 d o R e g i s t e r _ 3 : = R e g i s t e r _ 3 + R e g i s t e r _ 1 ; d o R e g i s t e r _ 1 = 1 , 1 0 0 R e g i s t e r _ 3 = R e g i s t e r _ 3 + R e g i s t e r _ 1 e n d d o f o r R e g i s t e r _ 1 i n 1 . . 1 0 0 d o R e g i s t e r _ 3 + = R e g i s t e r _ 1 ; W h at a re t h e c o m p o n e n ts ? 35 9 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 5 9 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – FO R f o r R e g i s t e r _ 1 i n 1 . . 1 0 0 l o o p R e g i s t e r _ 3 : = R e g i s t e r _ 3 + R e g i s t e r _ 1 ; e n d l o o p ; f o r ( r e g i s t e r 1 = 1 ; r e g i s t e r 1 < = 1 0 0 ; r e g i s t e r 1 + + ) { r e g i s t e r 3 + = r e g i s t e r 1 ; } f o r r e g i s t e r 1 i n r a n g e ( 1 , 1 0 1 ) : r e g i s t e r 3 + = r e g i s t e r 1 f o r R e g i s t e r _ 1 : = 1 t o 1 0 0 d o R e g i s t e r _ 3 : = R e g i s t e r _ 3 + R e g i s t e r _ 1 ; d o R e g i s t e r _ 1 = 1 , 1 0 0 R e g i s t e r _ 3 = R e g i s t e r _ 3 + R e g i s t e r _ 1 e n d d o f o r R e g i s t e r _ 1 i n 1 . . 1 0 0 d o R e g i s t e r _ 3 + = R e g i s t e r _ 1 ; . m a c r o f o r r e g i s t e r , f r o m , t o , b o d y m o v \ r e g i s t e r , # \ f r o m f o r \ @ : c m p \ r e g i s t e r , # \ t o b g t e n d _ f o r \ @ \ b o d y a d d \ r e g i s t e r , # 1 b f o r \ @ e n d _ f o r \ @ : . e n d m 35 7 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 5 7 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – FO R A ss u m in g t h e v al u e s h av e a lr e ad y b e e n t ra n sf e rr e d f ro m m e m o ry i n to r e g is te rs : . m a c r o f o r r e g i s t e r , f r o m , t o , b o d y m o v \ r e g i s t e r , # \ f r o m f o r \ @ : c m p \ r e g i s t e r , # \ t o b g t e n d _ f o r \ @ \ b o d y a d d \ r e g i s t e r , # 1 b f o r \ @ e n d _ f o r \ @ : . e n d m 36 0 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 6 0 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – FO R f o r R e g i s t e r _ 1 i n 1 . . 1 0 0 l o o p R e g i s t e r _ 3 : = R e g i s t e r _ 3 + R e g i s t e r _ 1 ; e n d l o o p ; f o r ( r e g i s t e r 1 = 1 ; r e g i s t e r 1 < = 1 0 0 ; r e g i s t e r 1 + + ) { r e g i s t e r 3 + = r e g i s t e r 1 ; } f o r r e g i s t e r 1 i n r a n g e ( 1 , 1 0 1 ) : r e g i s t e r 3 + = r e g i s t e r 1 f o r R e g i s t e r _ 1 : = 1 t o 1 0 0 d o R e g i s t e r _ 3 : = R e g i s t e r _ 3 + R e g i s t e r _ 1 ; d o R e g i s t e r _ 1 = 1 , 1 0 0 R e g i s t e r _ 3 = R e g i s t e r _ 3 + R e g i s t e r _ 1 e n d d o f o r R e g i s t e r _ 1 i n 1 . . 1 0 0 d o R e g i s t e r _ 3 + = R e g i s t e r _ 1 ; f o r r 1 , 1 , 1 0 0 “ a d d r 3 , r 1 ” 35 8 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 5 8 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – FO R A ss u m in g t h e v al u e s h av e a lr e ad y b e e n t ra n sf e rr e d f ro m m e m o ry i n to r e g is te rs : . m a c r o f o r r e g i s t e r , f r o m , t o , b o d y m o v \ r e g i s t e r , # \ f r o m f o r \ @ : c m p \ r e g i s t e r , # \ t o b g t e n d _ f o r \ @ \ b o d y a d d \ r e g i s t e r , # 1 b f o r \ @ e n d _ f o r \ @ : . e n d m W e c an n o w w ri te : f o r r 1 , 1 , 1 0 0 “ a d d r 3 , r 1 ” … i n t h e g e n e ra l ca se ( w it h l o ts o f co d e i n si d e t h e l o o p o r m u lt ip le l o o p s) : f o r r 1 , 1 , 1 0 0 , l o o p _ b o d y f o r r 1 , 1 , 1 0 0 , “ f o r r 2 , 1 , 1 0 0 , l o o p _ b o d y ” 36 3 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 6 3 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – W H IL E w h i l e R e g i s t e r _ 1 < 1 0 0 l o o p R e g i s t e r _ 1 : = R e g i s t e r _ 1 * * 2 ; e n d l o o p ; w h i l e ( r e g i s t e r 1 < 1 0 0 ) { r e g i s t e r 1 = r e g i s t e r 1 * r e g i s t e r 1 ; } w h i l e r e g i s t e r 1 < 1 0 0 : r e g i s t e r 1 = r e g i s t e r 1 * * 2 w h i l e R e g i s t e r _ 1 < 1 0 0 d o R e g i s t e r _ 1 : = R e g i s t e r _ 1 * * 2 ; w h i l e R e g i s t e r _ 1 < 1 0 0 d o R e g i s t e r _ 1 = R e g i s t e r _ 1 * * 2 e n d d o w h i l e ( R e g i s t e r _ 1 < 1 0 0 ) { R e g i s t e r _ 1 = R e g i s t e r _ 1 * * 2 ; } 1. a n e xp re ss io n ( if ) 2. a b o o le an c o n d it io n ( if ) 3. c o d e i n si d e t h e l o o p 36 1 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 6 1 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – FO R f o r R e g i s t e r _ 1 i n 1 . . 1 0 0 l o o p R e g i s t e r _ 3 : = R e g i s t e r _ 3 + R e g i s t e r _ 1 ; e n d l o o p ; f o r ( r e g i s t e r 1 = 1 ; r e g i s t e r 1 < = 1 0 0 ; r e g i s t e r 1 + + ) { r e g i s t e r 3 + = r e g i s t e r 1 ; } f o r r e g i s t e r 1 i n r a n g e ( 1 , 1 0 1 ) : r e g i s t e r 3 + = r e g i s t e r 1 f o r R e g i s t e r _ 1 : = 1 t o 1 0 0 d o R e g i s t e r _ 3 : = R e g i s t e r _ 3 + R e g i s t e r _ 1 ; d o R e g i s t e r _ 1 = 1 , 1 0 0 R e g i s t e r _ 3 = R e g i s t e r _ 3 + R e g i s t e r _ 1 e n d d o f o r R e g i s t e r _ 1 i n 1 . . 1 0 0 d o R e g i s t e r _ 3 + = R e g i s t e r _ 1 ; m o v r 1 , # 1 f o r : c m p r 1 , # 1 0 0 b g t e n d _ f o r a d d r 3 , r 1 a d d r 1 , # 1 b f o r e n d _ f o r : C o m p u ta ti o n al c o m p le xi ty : n H ^ h 36 4 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 6 4 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – W H IL E b w h i l e _ c o n d i t i o n w h i l e : m u l r 1 , r 1 ; 3 . L o o p b o d y w h i l e _ c o n d i t i o n : c m p r 1 , # 1 0 0 ; 1 . I n s t r u c t i o n s t o g e n e r a t e s t a t u s f l a g s b l t w h i l e ; 2 . B r a n c h d e p e n d i n g o n t h e s t a t u s f l a g s C an w e f o rm a g e n e ra l p at te rn f o r th is ? 36 2 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 6 2 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – W H IL E w h i l e R e g i s t e r _ 1 < 1 0 0 l o o p R e g i s t e r _ 1 : = R e g i s t e r _ 1 * * 2 ; e n d l o o p ; w h i l e ( r e g i s t e r 1 < 1 0 0 ) { r e g i s t e r 1 = r e g i s t e r 1 * r e g i s t e r 1 ; } w h i l e r e g i s t e r 1 < 1 0 0 : r e g i s t e r 1 = r e g i s t e r 1 * * 2 w h i l e R e g i s t e r _ 1 < 1 0 0 d o R e g i s t e r _ 1 : = R e g i s t e r _ 1 * * 2 ; w h i l e R e g i s t e r _ 1 < 1 0 0 d o R e g i s t e r _ 1 = R e g i s t e r _ 1 * * 2 e n d d o w h i l e ( R e g i s t e r _ 1 < 1 0 0 ) { R e g i s t e r _ 1 = R e g i s t e r _ 1 * * 2 ; } W h at a re t h e c o m p o n e n ts ? 36 7 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 6 7 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – W H IL E w h i l e R e g i s t e r _ 1 < 1 0 0 l o o p R e g i s t e r _ 1 : = R e g i s t e r _ 1 * * 2 ; e n d l o o p ; w h i l e ( r e g i s t e r 1 < 1 0 0 ) { r e g i s t e r 1 = r e g i s t e r 1 * r e g i s t e r 1 ; } w h i l e r e g i s t e r 1 < 1 0 0 : r e g i s t e r 1 = r e g i s t e r 1 * * 2 w h i l e R e g i s t e r _ 1 < 1 0 0 d o R e g i s t e r _ 1 : = R e g i s t e r _ 1 * * 2 ; w h i l e R e g i s t e r _ 1 < 1 0 0 d o R e g i s t e r _ 1 = R e g i s t e r _ 1 * * 2 e n d d o w h i l e ( R e g i s t e r _ 1 < 1 0 0 ) { R e g i s t e r _ 1 = R e g i s t e r _ 1 * * 2 ; } w h i l e “ c m p r 1 , # 1 0 0 ” , l t , “ m u l r 1 , r 1 ” 36 5 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 6 5 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – W H IL E . m a c r o w h i l e w h i l e _ e x p r e s s i o n , w h i l e _ c o n d i t i o n , b o d y b w h i l e _ c o n d i t i o n \ @ w h i l e \ @ : \ b o d y w h i l e _ c o n d i t i o n \ @ : \ w h i l e _ e x p r e s s i o n b \ w h i l e _ c o n d i t i o n w h i l e \ @ . e n d m W e c an n o w w ri te : w h i l e “ c m p r 1 , # 1 0 0 ” , l t , “ m u l r 1 , r 1 ” … t ry t o r e -w ri te o u r p o w e r fu n ct io n s fr o m t h e p re vi o u s ch ap te r w it h t h e m ac ro s yo u h av e n o w . 36 8 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 6 8 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – W H IL E w h i l e R e g i s t e r _ 1 < 1 0 0 l o o p R e g i s t e r _ 1 : = R e g i s t e r _ 1 * * 2 ; e n d l o o p ; w h i l e ( r e g i s t e r 1 < 1 0 0 ) { r e g i s t e r 1 = r e g i s t e r 1 * r e g i s t e r 1 ; } w h i l e r e g i s t e r 1 < 1 0 0 : r e g i s t e r 1 = r e g i s t e r 1 * * 2 w h i l e R e g i s t e r _ 1 < 1 0 0 d o R e g i s t e r _ 1 : = R e g i s t e r _ 1 * * 2 ; w h i l e R e g i s t e r _ 1 < 1 0 0 d o R e g i s t e r _ 1 = R e g i s t e r _ 1 * * 2 e n d d o w h i l e ( R e g i s t e r _ 1 < 1 0 0 ) { R e g i s t e r _ 1 = R e g i s t e r _ 1 * * 2 ; } b w h i l e _ c o n d i t i o n w h i l e : m u l r 1 , r 1 w h i l e _ c o n d i t i o n : c m p r 1 , # 1 0 0 b l t w h i l e C o m p u ta ti o n al c o m p le xi ty : U n d e fi n e d 36 6 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 6 6 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) Lo o p s – W H IL E w h i l e R e g i s t e r _ 1 < 1 0 0 l o o p R e g i s t e r _ 1 : = R e g i s t e r _ 1 * * 2 ; e n d l o o p ; w h i l e ( r e g i s t e r 1 < 1 0 0 ) { r e g i s t e r 1 = r e g i s t e r 1 * r e g i s t e r 1 ; } w h i l e r e g i s t e r 1 < 1 0 0 : r e g i s t e r 1 = r e g i s t e r 1 * * 2 w h i l e R e g i s t e r _ 1 < 1 0 0 d o R e g i s t e r _ 1 : = R e g i s t e r _ 1 * * 2 ; w h i l e R e g i s t e r _ 1 < 1 0 0 d o R e g i s t e r _ 1 = R e g i s t e r _ 1 * * 2 e n d d o w h i l e ( R e g i s t e r _ 1 < 1 0 0 ) { R e g i s t e r _ 1 = R e g i s t e r _ 1 * * 2 ; } * 22 * 2 ; 2 . m a c r o w h i l e w h i l e _ e x p r e s s i o n , w h i l e _ c o n d i t i o n , b o d y b w h i l e _ c o n d i t i o n \ @ w h i l e \ @ : \ b o d y w h i l e _ c o n d i t i o n \ @ : \ w h i l e _ e x p r e s s i o n b \ w h i l e _ c o n d i t i o n w h i l e \ @ . e n d m 37 1 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 7 1 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) C o n d it io n al s – C A SE ( in d ex ed ) t b h [ P C , r 1 , l s l # 1 ] ; P C u s e d a s b a s e o f b r a n c h t a b l e , r 1 i s i n d e x b r a n c h _ t a b l e : . h w o r d ( c a s e _ r e d - b r a n c h _ t a b l e ) / 2 ; c a s e _ r e d 1 6 b i t o f f s e t . h w o r d ( c a s e _ g r e e n - b r a n c h _ t a b l e ) / 2 ; c a s e _ g r e e n 1 6 b i t o f f s e t . h w o r d ( c a s e _ b l u e - b r a n c h _ t a b l e ) / 2 ; c a s e _ b l u e 1 6 b i t o f f s e t c a s e _ r e d : m o v r 3 , r 2 ; C o d e f o r c a s e R e d b e n d _ c a s e c a s e _ g r e e n : m o v r 4 , r 2 ; C o d e f o r c a s e G r e e n b e n d _ c a s e c a s e _ b l u e : m o v r 5 , r 2 ; C o d e f o r c a s e B l u e e n d _ c a s e : T h e c o m p le xi ty o f th is o p e ra ti o n i s 1 H ^ h, e .g . i t is i n d e p e n d e n t o f th e n u m b e r o f ca se s! C an w e g e n e ra te t h is v ia a m ac ro a u to m at ic al ly i n o n e l in e ?, f o r in st an ce a s: i n d e x e d _ c a s e r 1 , “ m o v r 3 , r 2 ” , “ m o v r 4 , r 2 ” , “ m o v r 5 , r 2 ” 36 9 C o n tr o l S tr u ct u re s © 2 0 2 1 U w e R . Z im m er , T h e A u st ra li an N at io n al U n iv er si ty p ag e 3 6 9 o f 4 8 7 ( ch ap te r 6 : “C o n tr o l St ru ct u re s” u p t o p ag e 3 8 7 ) C o n d it io n al s – C A SE ( in d ex ed ) t y p e C o l o u r i s ( R e d , G r e e n , B l u e ) ; T h e se v al u e s ca n b e r e p re se n te d b y (w h ic h i s al so t h e d e fa u lt i n m o st s ys te m s) f o r C o l o u r u s e ( R e d = >
0
,
G
r
e
e
n
=
>
1
,
B
l
u
e
=
>
2
)
;
A
ss
u
m
in
g
t
h
at
R
e
g
i
s
t
e
r
_
1
i
s
as
so
ci
at
e
d
w
it
h
t
h
is
t
yp
e
, w
e
c
an
t
h
e
n
e
xp
e
ct
a
h
ig
h
ly
e
ffi
c
ie
n
t
im
p
le
m
e
n
ta
ti
o
n
o
f
a
ca
se
c
o
n
st
ru
ct
s
u
ch
a
s:
c
a
s
e
R
e
g
i
s
t
e
r
_
1
i
s
w
h
e
n
R
e
d
=
>
R
e
g
i
s
t
e
r
_
2
:
=
R
e
g
i
s
t
e
r
_
3
;
w
h
e
n
G
r
e
e
n
=
>
R
e
g
i
s
t
e
r
_
2
:
=
R
e
g
i
s
t
e
r
_
4
;
w
h
e
n
B
l
u
e
=
>
R
e
g
i
s
t
e
r
_
2
:
=
R
e
g
i
s
t
e
r
_
5
;
e
n
d
c
a
s
e
;
37
2
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
7
2
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
in
d
ex
ed
)
..
ye
s,
b
u
t
as
t
h
e
n
u
m
b
e
r
o
f
ca
se
s
is
v
ar
ia
b
le
, w
e
n
e
e
d
t
o
w
ri
te
t
h
is
r
e
cu
rs
iv
e
ly
:
.
m
a
c
r
o
i
n
d
e
x
e
d
_
c
a
s
e
i
n
d
e
x
c
a
s
e
_
b
o
d
y
o
t
h
e
r
_
c
a
s
e
s
:
v
a
r
a
r
g
i
n
d
e
x
e
d
_
c
a
s
e
_
i
d
\
@
,
\
i
n
d
e
x
,
“
\
c
a
s
e
_
b
o
d
y
”
,
\
o
t
h
e
r
_
c
a
s
e
s
;
a
d
d
a
u
n
i
q
u
e
i
d
.
e
n
d
m
.
m
a
c
r
o
i
n
d
e
x
e
d
_
c
a
s
e
_
i
d
i
d
i
n
d
e
x
c
a
s
e
_
b
o
d
y
o
t
h
e
r
_
c
a
s
e
s
:
v
a
r
a
r
g
t
b
h
[
p
c
,
\
i
n
d
e
x
,
l
s
l
#
1
]
b
r
a
n
c
h
_
t
a
b
l
e
_
\
i
d
:
t
a
b
l
e
_
e
n
t
r
y
\
i
d
,
i
,
“
\
c
a
s
e
_
b
o
d
y
”
,
\
o
t
h
e
r
_
c
a
s
e
s
;
b
u
i
l
d
u
p
t
h
e
t
a
b
l
e
e
n
t
r
i
e
s
c
a
s
e
_
e
n
t
r
y
\
i
d
,
i
,
“
\
c
a
s
e
_
b
o
d
y
”
,
\
o
t
h
e
r
_
c
a
s
e
s
;
a
d
d
t
h
e
c
o
d
e
s
w
i
t
h
a
l
a
b
e
l
e
a
c
h
i
n
d
e
x
e
d
_
c
a
s
e
_
e
n
d
_
\
i
d
:
.
e
n
d
m
…
T
h
e
p
ar
ts
w
h
ic
h
a
re
a
ct
u
al
ly
p
ro
d
u
ci
n
g
c
o
d
e
a
re
h
ig
h
li
gh
ed
.
…
r
e
cu
rs
iv
e
p
ar
ts
a
re
f
o
ll
o
w
in
g
o
n
t
h
e
n
e
xt
p
ag
e
…
h
o
ld
o
n
t
o
s
o
m
e
th
in
g
!
37
0
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
7
0
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
in
d
ex
ed
)
A
t
ab
le
b
as
e
d
b
ra
n
ch
in
g
i
m
p
le
m
e
n
ta
ti
o
n
o
f:
c
a
s
e
R
e
g
i
s
t
e
r
_
1
i
s
w
h
e
n
R
e
d
=
>
R
e
g
i
s
t
e
r
_
3
:
=
R
e
g
i
s
t
e
r
_
2
;
w
h
e
n
G
r
e
e
n
=
>
R
e
g
i
s
t
e
r
_
4
:
=
R
e
g
i
s
t
e
r
_
2
;
w
h
e
n
B
l
u
e
=
>
R
e
g
i
s
t
e
r
_
5
:
=
R
e
g
i
s
t
e
r
_
2
;
e
n
d
c
a
s
e
;
w
o
u
ld
l
o
o
k
l
ik
e
:
37
5
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
7
5
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
in
d
ex
ed
)
c
a
s
e
R
e
g
i
s
t
e
r
_
1
i
s
w
h
e
n
R
e
d
=
>
R
e
g
i
s
t
e
r
_
3
:
=
R
e
g
i
s
t
e
r
_
2
;
w
h
e
n
G
r
e
e
n
=
>
R
e
g
i
s
t
e
r
_
4
:
=
R
e
g
i
s
t
e
r
_
2
;
w
h
e
n
B
l
u
e
=
>
R
e
g
i
s
t
e
r
_
5
:
=
R
e
g
i
s
t
e
r
_
2
;
e
n
d
c
a
s
e
;
p
ag
e
3
7
5
o
f
4
8
7
(c
h
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
7
p
ag
e
3
7
5
o
f
4
8
7
(
h
t
6
“C
t
l
St
t
”
7
t
b
h
[
P
C
,
r
1
,
l
s
l
#
1
]
b
r
a
n
c
h
_
t
a
b
l
e
:
.
h
w
o
r
d
(
c
a
s
e
_
r
e
d
–
b
r
a
n
c
h
_
t
a
b
l
e
)
/
2
.
h
w
o
r
d
(
c
a
s
e
_
g
r
e
e
n
–
b
r
a
n
c
h
_
t
a
b
l
e
)
/
2
.
h
w
o
r
d
(
c
a
s
e
_
b
l
u
e
–
b
r
a
n
c
h
_
t
a
b
l
e
)
/
2
c
a
s
e
_
r
e
d
:
m
o
v
r
3
,
r
2
b
e
n
d
_
c
a
s
e
c
a
s
e
_
g
r
e
e
n
:
m
o
v
r
4
,
r
2
b
e
n
d
_
c
a
s
e
c
a
s
e
_
B
l
u
e
:
m
o
v
r
5
,
r
2
e
n
d
_
c
a
s
e
:
C
o
m
p
u
ta
ti
o
n
al
c
o
m
p
le
xi
ty
:
1
H
^
h
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
tyy
U
w
e
R
Z
im
m
er
Th
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
S
id
e
r
e
m
ar
k
: i
f
yo
u
d
is
as
se
m
b
le
s
u
ch
a
st
ru
ct
u
re
, i
t
w
il
l
lo
o
k
d
if
fe
re
n
t.
H
o
w
a
n
d
w
h
y?
37
3
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
7
3
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
in
d
ex
ed
)
…
.
m
a
c
r
o
t
a
b
l
e
_
e
n
t
r
y
i
d
c
a
s
e
_
n
r
c
a
s
e
_
b
o
d
y
o
t
h
e
r
_
c
a
s
e
s
:
v
a
r
a
r
g
.
h
w
o
r
d
(
c
a
s
e
_
\
i
d
\
(
)
_
\
c
a
s
e
_
n
r
–
b
r
a
n
c
h
_
t
a
b
l
e
_
\
i
d
)
/
2
.
i
f
n
b
\
o
t
h
e
r
_
c
a
s
e
s
t
a
b
l
e
_
e
n
t
r
y
\
i
d
,
\
c
a
s
e
_
n
r
\
(
)
i
,
\
o
t
h
e
r
_
c
a
s
e
s
;
s
t
i
l
l
m
o
r
e
e
n
t
r
i
e
s
t
o
a
d
d
.
e
n
d
i
f
.
e
n
d
m
.
m
a
c
r
o
c
a
s
e
_
e
n
t
r
y
i
d
c
a
s
e
_
n
r
c
a
s
e
_
b
o
d
y
o
t
h
e
r
_
c
a
s
e
s
:
v
a
r
a
r
g
c
a
s
e
_
\
i
d
\
(
)
_
\
c
a
s
e
_
n
r
:
\
c
a
s
e
_
b
o
d
y
b
i
n
d
e
x
e
d
_
c
a
s
e
_
e
n
d
_
\
i
d
.
i
f
n
b
\
o
t
h
e
r
_
c
a
s
e
s
c
a
s
e
_
e
n
t
r
y
\
i
d
,
\
c
a
s
e
_
n
r
\
(
)
i
,
\
o
t
h
e
r
_
c
a
s
e
s
;
s
t
i
l
l
m
o
r
e
e
n
t
r
i
e
s
t
o
a
d
d
.
e
n
d
i
f
.
e
n
d
m
p
ag
e
3
7
3
o
f
4
8
7
(c
h
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
7
p
ag
e
3
7
3
o
f
4
8
(
h
…
y
e
s,
t
h
is
i
s
a
b
it
m
o
re
i
n
vo
lv
e
d
t
h
an
t
h
e
p
re
vi
o
u
s
m
ac
ro
s,
y
e
t
it
i
s
h
e
re
t
o
d
e
m
o
n
st
ra
te
t
h
at
m
o
re
c
o
m
p
le
x
an
d
d
yn
am
ic
s
tr
u
ct
u
re
s
ca
n
a
ls
o
b
e
m
ac
ro
g
e
n
e
ra
te
d
.
37
6
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
7
6
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
gu
ar
d
ed
e
xp
re
ss
io
n
s,
l
is
t
o
f
co
n
d
it
io
n
s)
r
0
:
:
I
n
t
–
>
I
n
t
–
>
I
n
t
–
>
I
n
t
r
0
r
1
r
2
r
3
|
r
1
< r 2 = r 1 | r 1 >
r
2
=
r
2
|
r
1
=
=
r
2
=
0
|
o
t
h
e
r
w
i
s
e
=
e
r
r
o
r
“
H
o
w
d
i
d
I
g
e
t
h
e
r
e
?
”
s
w
i
t
c
h
(
r
1
)
{
c
a
s
e
4
:
r
0
=
r
1
;
b
r
e
a
k
;
c
a
s
e
5
:
r
0
=
r
2
;
b
r
e
a
k
;
c
a
s
e
6
:
r
0
=
0
;
}
r
0
:
=
(
i
f
r
1
< r 2 t h e n r 1 e l s i f r 1 >
r
2
t
h
e
n
r
2
e
l
s
i
f
r
1
=
r
2
t
h
e
n
0
e
l
s
e
I
n
t
e
g
e
r
’
I
n
v
a
l
i
d
)
;
…
s
im
il
ar
s
tr
u
ct
u
re
?
…
m
an
y
sy
n
ta
x
ve
rs
io
n
s?
37
4
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
7
4
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
in
d
ex
ed
)
c
a
s
e
R
e
g
i
s
t
e
r
_
1
i
s
w
h
e
n
R
e
d
=
>
R
e
g
i
s
t
e
r
_
3
:
=
R
e
g
i
s
t
e
r
_
2
;
w
h
e
n
G
r
e
e
n
=
>
R
e
g
i
s
t
e
r
_
4
:
=
R
e
g
i
s
t
e
r
_
2
;
w
h
e
n
B
l
u
e
=
>
R
e
g
i
s
t
e
r
_
5
:
=
R
e
g
i
s
t
e
r
_
2
;
e
n
d
c
a
s
e
;
i
n
d
e
x
e
d
_
c
a
s
e
r
1
,
“
m
o
v
r
3
,
r
2
”
,
“
m
o
v
r
4
,
r
2
”
,
“
m
o
v
r
5
,
r
2
”
37
9
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
7
9
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
in
d
ex
ed
)
T
h
is
i
s
ag
ai
n
r
e
cu
rs
iv
e
t
o
h
an
d
le
t
h
e
v
ar
ia
b
le
n
u
m
b
e
r
o
f
ca
se
s:
.
m
a
c
r
o
c
a
s
e
e
x
p
r
e
s
s
i
o
n
c
o
n
d
i
t
i
o
n
c
a
s
e
_
b
o
d
y
o
t
h
e
r
_
c
a
s
e
s
:
v
a
r
a
r
g
c
a
s
e
_
i
d
\
@
,
“
\
e
x
p
r
e
s
s
i
o
n
”
,
\
c
o
n
d
i
t
i
o
n
,
“
\
c
a
s
e
_
b
o
d
y
”
,
\
o
t
h
e
r
_
c
a
s
e
s
.
e
n
d
m
.
m
a
c
r
o
c
a
s
e
_
i
d
i
d
e
x
p
r
e
s
s
i
o
n
c
o
n
d
i
t
i
o
n
c
a
s
e
_
b
o
d
y
o
t
h
e
r
_
c
a
s
e
s
:
v
a
r
a
r
g
g
u
a
r
d
s
_
r
e
c
\
i
d
,
i
,
“
\
e
x
p
r
e
s
s
i
o
n
”
,
\
c
o
n
d
i
t
i
o
n
,
“
\
c
a
s
e
_
b
o
d
y
”
,
\
o
t
h
e
r
_
c
a
s
e
s
c
a
s
e
s
_
r
e
c
\
i
d
,
i
,
“
\
e
x
p
r
e
s
s
i
o
n
”
,
\
c
o
n
d
i
t
i
o
n
,
“
\
c
a
s
e
_
b
o
d
y
”
,
\
o
t
h
e
r
_
c
a
s
e
s
e
n
d
_
c
a
s
e
_
\
i
d
:
.
e
n
d
m
…
T
h
e
p
ar
ts
w
h
ic
h
a
re
a
ct
u
al
ly
p
ro
d
u
ci
n
g
c
o
d
e
a
re
h
ig
h
li
gh
ed
.
…
a
n
d
w
e
s
ti
ll
n
e
e
d
t
o
g
e
n
e
ra
te
t
h
e
l
is
t
o
f
g
u
ar
d
s,
f
o
ll
o
w
e
d
b
y
th
e
l
is
t
o
f
co
d
e
s
e
ct
io
n
s.
37
7
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
7
7
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
gu
ar
d
ed
e
xp
re
ss
io
n
s,
l
is
t
o
f
co
n
d
it
io
n
s)
r
0
:
:
I
n
t
–
>
I
n
t
–
>
I
n
t
–
>
I
n
t
r
0
r
1
r
2
r
3
|
r
1
< r 2 = r 1 | r 1 >
r
2
=
r
2
|
r
1
=
=
r
2
=
0
|
o
t
h
e
r
w
i
s
e
=
e
r
r
o
r
“
H
o
w
d
i
d
I
g
e
t
h
e
r
e
?
”
s
w
i
t
c
h
(
r
1
)
{
c
a
s
e
4
:
r
0
=
r
1
;
b
r
e
a
k
;
c
a
s
e
5
:
r
0
=
r
2
;
b
r
e
a
k
;
c
a
s
e
6
:
r
0
=
0
;
}
r
0
:
=
(
i
f
r
1
< r 2 t h e n r 1 e l s i f r 1 >
r
2
t
h
e
n
r
2
e
l
s
i
f
r
1
=
r
2
t
h
e
n
0
e
l
s
e
I
n
t
e
g
e
r
’
I
n
v
a
l
i
d
)
;
1.
g
u
ar
d
s
2.
g
u
ar
d
c
o
n
d
it
io
n
s
3.
g
u
ar
d
e
xp
re
ss
io
n
s
/
st
at
e
m
e
n
ts
38
0
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
8
0
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
in
d
ex
ed
)
…
.
m
a
c
r
o
g
u
a
r
d
s
_
r
e
c
i
d
c
a
s
e
_
n
r
e
x
p
r
e
s
s
i
o
n
c
o
n
d
i
t
i
o
n
c
a
s
e
_
b
o
d
y
o
t
h
e
r
_
c
a
s
e
s
:
v
a
r
a
r
g
\
e
x
p
r
e
s
s
i
o
n
b
\
c
o
n
d
i
t
i
o
n
c
a
s
e
_
\
i
d
\
(
)
_
\
c
a
s
e
_
n
r
.
i
f
n
b
\
o
t
h
e
r
_
c
a
s
e
s
g
u
a
r
d
s
_
r
e
c
\
i
d
,
\
c
a
s
e
_
n
r
\
(
)
i
,
\
o
t
h
e
r
_
c
a
s
e
s
.
e
l
s
e
b
e
n
d
_
c
a
s
e
_
\
i
d
.
e
n
d
i
f
.
e
n
d
m
.
m
a
c
r
o
c
a
s
e
s
_
r
e
c
i
d
c
a
s
e
_
n
r
e
x
p
r
e
s
s
i
o
n
c
o
n
d
i
t
i
o
n
c
a
s
e
_
b
o
d
y
o
t
h
e
r
_
c
a
s
e
s
:
v
a
r
a
r
g
c
a
s
e
_
\
i
d
\
(
)
_
\
c
a
s
e
_
n
r
:
\
c
a
s
e
_
b
o
d
y
b
e
n
d
_
c
a
s
e
_
\
i
d
.
i
f
n
b
\
o
t
h
e
r
_
c
a
s
e
s
c
a
s
e
s
_
r
e
c
\
i
d
,
\
c
a
s
e
_
n
r
\
(
)
i
,
\
o
t
h
e
r
_
c
a
s
e
s
.
e
n
d
i
f
.
e
n
d
m
K
e
e
p
i
n
m
in
d
:
M
ac
ro
p
ro
g
ra
m
m
in
g
i
s
p
u
re
te
xt
u
al
r
e
p
la
ce
m
e
n
t.
T
h
e
r
e
su
lt
i
s
a
te
xt
w
h
ic
h
i
s
th
e
n
t
ra
n
sl
at
–
e
d
b
y
th
e
a
ss
e
m
b
le
r
in
to
m
ac
h
in
e
c
o
d
e
.
37
8
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
7
8
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
gu
ar
d
ed
e
xp
re
ss
io
n
s,
l
is
t
o
f
co
n
d
it
io
n
s)
c
m
p
r
1
,
r
2
b
l
t
c
a
s
e
_
a
c
m
p
r
1
,
r
2
b
g
t
c
a
s
e
_
b
c
m
p
r
1
,
r
2
b
e
q
c
a
s
e
_
c
b
e
n
d
_
c
a
s
e
c
a
s
e
_
a
:
m
o
v
r
0
,
r
1
b
e
n
d
_
c
a
s
e
c
a
s
e
_
b
:
m
o
v
r
0
,
r
2
b
e
n
d
_
c
a
s
e
c
a
s
e
_
c
:
m
o
v
r
0
,
#
0
b
e
n
d
_
c
a
s
e
e
n
d
_
c
a
s
e
:
1.
g
u
ar
d
s
2.
g
u
ar
d
c
o
n
d
it
io
n
s
3.
g
u
ar
d
e
xp
re
ss
io
n
s
/
st
at
e
m
e
n
ts
G
e
n
e
ra
te
d
b
y:
c
a
s
e
“
c
m
p
r
1
,
r
2
”
,
l
t
,
“
m
o
v
r
0
,
r
1
”
,
“
c
m
p
r
1
,
r
2
”
,
g
t
,
“
m
o
v
r
0
,
r
2
”
,
“
c
m
p
r
1
,
r
2
”
,
g
t
,
“
m
o
v
r
0
,
#
0
”
38
3
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
8
3
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
c
m
p
r
1
,
r
2
b
e
q
t
h
e
n
m
o
v
r
3
,
#
0
b
e
n
d
_
i
f
t
h
e
n
:
m
o
v
r
3
,
#
1
e
n
d
_
i
f
:
h
l
l
m
o
v
r
1
,
#
1
f
o
r
:
c
m
p
r
1
,
#
1
0
0
b
g
t
e
n
d
_
f
o
r
a
d
d
r
3
,
r
1
a
d
d
r
1
,
#
1
b
f
o
r
e
n
d
_
f
o
r
:
b
w
h
i
l
e
_
c
o
n
d
i
t
i
o
n
w
h
i
l
e
:
m
u
l
r
1
,
r
1
w
h
i
l
e
_
c
o
n
d
i
t
i
o
n
:
c
m
p
r
1
,
#
1
0
0
b
l
t
w
h
i
l
e
i
f
“
c
m
p
r
1
,
r
2
”
,
e
q
,
“
m
o
v
r
3
,
#
1
”
,
“
m
o
v
r
3
,
#
0
”
f
o
r
r
1
,
1
,
1
0
0
“
a
d
d
r
3
,
r
1
”
w
h
i
l
e
“
c
m
p
r
1
,
#
1
0
0
”
,
l
t
,
“
m
u
l
r
1
,
r
1
”
38
1
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
8
1
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
gu
ar
d
ed
e
xp
re
ss
io
n
s,
l
is
t
o
f
co
n
d
it
io
n
s)
r
0
:
:
I
n
t
–
>
I
n
t
–
>
I
n
t
–
>
I
n
t
r
0
r
1
r
2
r
3
|
r
1
< r 2 = r 1 | r 1 >
r
2
=
r
2
|
r
1
=
=
r
2
=
0
|
o
t
h
e
r
w
i
s
e
=
e
r
r
o
r
“
H
o
w
d
i
d
I
g
e
t
h
e
r
e
?
”
s
w
i
t
c
h
(
r
1
)
{
c
a
s
e
4
:
r
0
=
r
1
;
b
r
e
a
k
;
c
a
s
e
5
:
r
0
=
r
2
;
b
r
e
a
k
;
c
a
s
e
6
:
r
0
=
0
;
}
r
0
:
=
(
i
f
r
1
< r 2 t h e n r 1 e l s i f r 1 >
r
2
t
h
e
n
r
2
e
l
s
i
f
r
1
=
r
2
t
h
e
n
0
e
l
s
e
I
n
t
e
g
e
r
’
I
n
v
a
l
i
d
)
;
c
a
s
e
“
c
m
p
r
1
,
r
2
”
,
l
t
,
“
m
o
v
r
0
,
r
1
”
,
“
c
m
p
r
1
,
r
2
”
,
g
t
,
“
m
o
v
r
0
,
r
2
”
,
“
c
m
p
r
1
,
r
2
”
,
g
t
,
“
m
o
v
r
0
,
#
0
”
38
4
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
8
4
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
y
er
Th
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
tyy
er
Th
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
er
Th
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
tyy
t
b
h
[
P
C
,
r
1
,
l
s
l
#
1
]
b
r
a
n
c
h
_
t
a
b
l
e
:
.
h
w
o
r
d
(
c
a
s
e
_
r
e
d
–
b
r
a
n
c
h
_
t
a
b
l
e
)
/
2
.
h
w
o
r
d
(
c
a
s
e
_
g
r
e
e
n
–
b
r
a
n
c
h
_
t
a
b
l
e
)
/
2
.
h
w
o
r
d
(
c
a
s
e
_
b
l
u
e
–
b
r
a
n
c
h
_
t
a
b
l
e
)
/
2
c
a
s
e
_
r
e
d
:
m
o
v
r
3
,
r
2
b
e
n
d
_
c
a
s
e
c
a
s
e
_
g
r
e
e
n
:
m
o
v
r
4
,
r
2
b
e
n
d
_
c
a
s
e
c
a
s
e
_
B
l
u
e
:
m
o
v
r
5
,
r
2
e
n
d
_
c
a
s
e
:
b
h
[
P
C
1
l
s
l
#
1
]
i
n
d
e
x
e
d
_
c
a
s
e
r
1
,
“
m
o
v
r
3
,
r
2
”
,
“
m
o
v
r
4
,
r
2
”
,
“
m
o
v
r
5
,
r
2
”
8
7
(c
h
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
to
p
ag
e
3
8
7
)
7
c
m
p
r
1
,
r
2
b
l
t
c
a
s
e
_
a
c
m
p
r
1
,
r
2
b
g
t
c
a
s
e
_
b
c
m
p
r
1
,
r
2
b
e
q
c
a
s
e
_
c
b
e
n
d
_
c
a
s
e
c
a
s
e
_
a
:
m
o
v
r
0
,
r
1
b
e
n
d
_
c
a
s
e
c
a
s
e
_
b
:
m
o
v
r
0
,
r
2
b
e
n
d
_
c
a
s
e
c
a
s
e
_
c
:
m
o
v
r
0
,
#
0
b
e
n
d
_
c
a
s
e
e
n
d
_
c
a
s
e
:
1
2
lS
t
o
l S
tr
u
ct
u
re
s
c
a
s
e
“
c
m
p
r
1
,
r
2
”
,
l
t
,
“
m
o
v
r
0
,
r
1
”
,
“
c
m
p
r
1
,
r
2
”
,
g
t
,
“
m
o
v
r
0
,
r
2
”
,
“
c
m
p
r
1
,
r
2
”
,
g
t
,
“
m
o
v
r
0
,
#
0
”
38
2
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
8
2
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
d
it
io
n
al
s
–
C
A
SE
(
gu
ar
d
ed
e
xp
re
ss
io
n
s,
l
is
t
o
f
co
n
d
it
io
n
s)
r
0
:
:
I
n
t
–
>
I
n
t
–
>
I
n
t
–
>
I
n
t
r
0
r
1
r
2
r
3
|
r
1
< r 2 = r 1 | r 1 >
r
2
=
r
2
|
r
1
=
=
r
2
=
0
|
o
t
h
e
r
w
i
s
e
=
e
r
r
o
r
“
H
o
w
d
i
d
I
g
e
t
h
e
r
e
?
”
s
w
i
t
c
h
(
r
1
)
{
c
a
s
e
4
:
r
0
=
r
1
;
b
r
e
a
k
;
c
a
s
e
5
:
r
0
=
r
2
;
b
r
e
a
k
;
c
a
s
e
6
:
r
0
=
0
;
}
r
0
:
=
(
i
f
r
1
< r 2 t h e n r 1 e l s i f r 1 >
r
2
t
h
e
n
r
2
e
l
s
i
f
r
1
=
r
2
t
h
e
n
0
e
l
s
e
I
n
t
e
g
e
r
’
I
n
v
a
l
i
d
)
;
c
m
p
r
1
,
r
2
b
l
t
c
a
s
e
_
a
c
m
p
r
1
,
r
2
b
g
t
c
a
s
e
_
b
c
m
p
r
1
,
r
2
b
e
q
c
a
s
e
_
c
b
e
n
d
_
c
a
s
e
c
a
s
e
_
a
:
m
o
v
r
0
,
r
1
b
e
n
d
_
c
a
s
e
c
a
s
e
_
b
:
m
o
v
r
0
,
r
2
b
e
n
d
_
c
a
s
e
c
a
s
e
_
c
:
m
o
v
r
0
,
#
0
b
e
n
d
_
c
a
s
e
e
n
d
_
c
a
s
e
:
p
ag
e
ti
o
n
al
U
n
iv
er
si
ty
p
y
C
o
m
p
u
ta
ti
o
n
al
c
o
m
p
le
xi
ty
:
n
O
^
h
38
7
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
8
7
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
C
o
n
tr
o
l S
tr
u
ct
u
re
s
•
A
ss
em
b
le
r
M
ac
ro
s
•
Lo
ca
l
la
b
e
ls
•
R
e
cu
rs
iv
e
m
ac
ro
s
•
C
o
n
tr
o
l
St
ru
ct
u
re
s
in
m
ac
h
in
e
co
d
e
•
IF
•
W
H
IL
E
•
FO
R
•
C
A
S
Es
Su
m
m
ar
y
38
5
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
8
5
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
y
er
Th
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
tyy
er
Th
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
er
Th
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
tyy
t
b
h
[
P
C
,
r
1
,
l
s
l
#
1
]
b
r
a
n
c
h
_
t
a
b
l
e
:
.
h
w
o
r
d
(
c
a
s
e
_
r
e
d
–
b
r
a
n
c
h
_
t
a
b
l
e
)
/
2
.
h
w
o
r
d
(
c
a
s
e
_
g
r
e
e
n
–
b
r
a
n
c
h
_
t
a
b
l
e
)
/
2
.
h
w
o
r
d
(
c
a
s
e
_
b
l
u
e
–
b
r
a
n
c
h
_
t
a
b
l
e
)
/
2
c
a
s
e
_
r
e
d
:
m
o
v
r
3
,
r
2
b
e
n
d
_
c
a
s
e
c
a
s
e
_
g
r
e
e
n
:
m
o
v
r
4
,
r
2
b
e
n
d
_
c
a
s
e
c
a
s
e
_
B
l
u
e
:
m
o
v
r
5
,
r
2
e
n
d
_
c
a
s
e
:
b
h
[
P
C
1
l
s
l
#
1
]
i
n
d
e
x
e
d
_
c
a
s
e
r
1
,
“
m
o
v
r
3
,
r
2
”
,
“
m
o
v
r
4
,
r
2
”
,
“
m
o
v
r
5
,
r
2
”
8
7
(c
h
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
to
p
ag
e
3
8
7
)
7
c
m
p
r
1
,
#
4
b
e
q
c
a
s
e
_
a
c
m
p
r
1
,
#
5
b
e
q
c
a
s
e
_
b
c
m
p
r
1
,
#
6
b
e
q
c
a
s
e
_
c
b
e
n
d
_
c
a
s
e
c
a
s
e
_
a
:
m
o
v
r
0
,
r
1
b
e
n
d
_
c
a
s
e
c
a
s
e
_
b
:
m
o
v
r
0
,
r
2
b
e
n
d
_
c
a
s
e
c
a
s
e
_
c
:
m
o
v
r
0
,
#
0
b
e
n
d
_
c
a
s
e
e
n
d
_
c
a
s
e
:
1
#
4
e
s
s
w
i
t
c
h
r
1
,
4
,
“
m
o
v
r
0
,
r
1
”
,
5
,
“
m
o
v
r
0
,
r
2
”
,
6
,
“
m
o
v
r
0
,
#
0
”
38
6
C
o
n
tr
o
l S
tr
u
ct
u
re
s
©
2
0
2
1
U
w
e
R
.
Z
im
m
er
, T
h
e
A
u
st
ra
li
an
N
at
io
n
al
U
n
iv
er
si
ty
p
ag
e
3
8
6
o
f
4
8
7
(
ch
ap
te
r
6
:
“C
o
n
tr
o
l
St
ru
ct
u
re
s”
u
p
t
o
p
ag
e
3
8
7
)
Y
o
u
c
an
f
o
rm
a
ll
c
o
m
m
o
n
s
e
q
u
e
n
ti
al
c
o
n
tr
o
l
st
ru
ct
u
re
s
(o
r
g
e
n
e
ra
te
t
h
e
m
v
ia
m
ac
ro
s
if
y
o
u
w
is
h
)
(i
n
cl
u
d
in
g
f
u
n
ct
io
n
c
al
ls
)