Individual Instruction Descriptions

4.14.15 ENDLOOP

 

End Loop

 

 

 

Syntax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[label]

name

 

#

 

Clock, clk

Word, w

With RPT, clk

Class

 

 

 

 

 

 

 

 

 

 

 

 

ENDLOOP

 

[n]

 

1

1

N/R

9d

 

 

 

 

 

 

 

 

 

 

Execution

If (R4

0)

 

 

 

 

 

decrement R4 by n (1 or 2)

PC first address after BEGLOOP else

NOP

PC PC + 1

Flags Affected

None

Opcode

Instructions

16

15

14

13

12

11

10

9

 

 

 

 

 

 

 

 

 

ENDLOOP n

1

1

1

1

1

1

1

1

 

 

 

 

 

 

 

 

 

8

7

6

5

4

3

2

1

0

0

0

0

0

1

0

0

0

n

 

 

 

 

 

 

 

 

 

Description

This instruction marks the end of a loop defined by BEGLOOP. If register R4

 

is not negative, R4 is decremented by n and the loop is executed again

 

beginning with the first instruction after the BEGLOOP. If R4 is negative, a

 

NOP instruction is executed and program exits the loop. Interrupts (queued by

 

BEGLOOP) are processed according to their priority. This instruction results

 

in an overhead of one instruction cycle per loop cycle compared to two

 

instruction cycle if branching is used. If ENDLOOP is used without any

 

argument, it assumes n =1.

See Also

BEGLOOP, INTE

Example 4.14.15.1

See Example 4.14.7.1 in BEGLOOP.

Assembly Language Instructions

4-97

Page 183
Image 183
Texas Instruments MSP50C6xx Endloop End Loop, Decrement R4 by n 1 or PC first address after Begloop else, BEGLOOP, Inte