COPE-06 Control Structures.indd
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
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
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
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
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 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 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 ? 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 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 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
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
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
?
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
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
”
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
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?
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
;
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
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 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 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
:
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 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 ? 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 ” 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 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 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 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 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 ! 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 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 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 ” 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 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
”
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
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
(
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
)
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
.
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
)
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
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
”
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
”
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
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
”
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
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
(
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
)
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?
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
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
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
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?