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.

## PowerPoint Slideshow about 'Branching and Looping' - kezia

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 - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Branching and Looping

Chapter 5

• 68HC12 Branch Instructions

• WHYP Branching and Looping Words

• Recursion in WHYP

• 68HC12 Branch Instructions

• WHYP Branching and Looping Words

• Recursion in WHYP

• IF…ELSE…THEN

• FOR…NEXT

• BEGIN…AGAIN

• BEGIN…WHILE…REPEAT

• DO…LOOP

FALSE = 0

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

true statements

next statements

FALSE iftest

next statements

true statements

next statements

FALSE if.else.test

false statements

next statements

n FOR <WHYP statements> NEXT

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

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 <WHYP statements> AGAIN

BEGIN <WHYP statements> <flag> UNTIL

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

<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

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

Exits a DO loop prematurely

• 68HC12 Branch Instructions

• WHYP Branching and Looping Words

• Recursion in WHYP

n! = n * (n - 1)!