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

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

)