CS计算机代考程序代写 ER AI COPE-06 Control Structures.indd

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?