1 / 55

# Branching and Looping - PowerPoint PPT Presentation

Branching and Looping. Chapter 5. Branching and Looping. 68HC12 Branch Instructions WHYP Branching and Looping Words Recursion in WHYP. Branch Displacement. Negative Branch. Branch on Z flag. Branch on Z flag. Branch on Z flag. Branch on N flag. Branch on N flag.

## Related searches for Branching and Looping

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Branching and Looping

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

## Branching and Looping

Chapter 5

### Branching and Looping

• 68HC12 Branch Instructions

• WHYP Branching and Looping Words

• Recursion in WHYP

### Branch on Z flag

Branch on Z flag

Branch on Z flag

Branch on N flag

Branch on N flag

Branch on C and V flags

### Branching and Looping

• 68HC12 Branch Instructions

• WHYP Branching and Looping Words

• Recursion in WHYP

### WHYP Branching and Looping Words

• IF…ELSE…THEN

• FOR…NEXT

• BEGIN…AGAIN

• BEGIN…WHILE…REPEAT

• DO…LOOP

### 68HC12 Code for <

68HC12 Code for U<

TRUE = -1

FALSE = 0

### IF…ELSE…THEN

<cond> IF <true statements> ELSE <false statements> THEN

TRUE iftest

true statements

next statements

FALSE iftest

next statements

TRUE if.else.test

true statements

next statements

FALSE if.else.test

false statements

next statements

IF…ELSE…THEN Example

### FOR…NEXT Loop

n FOR <WHYP statements> NEXT

: stars for ." *" next ;

### FOR…NEXT Delay Loop

8 MHz clock: #ms = #clock_cycles/8 = 7.75 +1.375*N

N = (#ms - 7.75)/1.375

Ex: 50 ms delay: N = (50000 - 7.75)/1.375 = 36358

### Longer Delays

Note: A 10 second delay on the MC68HC12A4EVB

takes about 17 seconds because one wait state

The 68HC11 takes over twice as long to execute

the same delay instructions.

### BEGIN…AGAIN

BEGIN <WHYP statements> AGAIN

### BEGIN…UNTIL

BEGIN <WHYP statements> <flag> UNTIL

### BEGIN…WHILE…REPEAT

BEGIN <words> <flag> WHILE <words> REPEAT

Sine and Arcsine

Sine and Cosine

### DO…LOOP

<limit> <index> DO <WHYP statements> LOOP

Moves <limit> and <index>

to return stack

Increments <index> on return stack

and loops back to <WHYP statements>

if <index> is less than <limit>,

else pop <limit> and <index> from

return stack and exit loop

DO…LOOP

The WHYP word I copies the index value from

the return stack to the top of the parameter stack.

: test( -- )

11 1 DO

I .

LOOP ;

will print

1 2 3 4 5 6 7 8 9 10

DO…LOOP Example

### The Word LEAVE

Exits a DO loop prematurely

### Branching and Looping

• 68HC12 Branch Instructions

• WHYP Branching and Looping Words

• Recursion in WHYP

### Recursion in WHYP

n! = n * (n - 1)!

Recursion in WHYP