Active lcn write at the end of long loops -54, Instructions in short loops -54 – Freescale Semiconductor StarCore SC140 User Manual

Page 304

Advertising
background image

7-54

SC140 DSP Core Reference Manual

LPMARK Rules

LPMARK Rule L.L.2

A DOENn or MOVE-like instruction that writes the active LCn register is not allowed at LPB, LPB+1, or
LPB+2 of a long loop.

Example 7-93. Active LCn Write at the End of Long Loops

doen1 #3
move.l #$12345678,r1
inc d0

{lpmarkb set}

doen1 #5

;not allowed

move.w d3,(r1)+

LPMARK Rule L.L.3

The following instructions are not allowed at LPA, LPB, or LPB+1 of a short loop:

COF instructions

STOP and WAIT

DI

DEBUG

DOENn/DOENSHn

MOVE-like instructions that read any LCn register

MOVE-like instructions that write any LCn register

MOVE-like instructions that read the SR register

MOVE-like instructions that write the SR register

This rule does not apply to other instructions that affect status bits in SR.

Example 7-94. Instructions in Short Loops

move.w #count2,r6
doensh0 r6
move.w #3,d3

inc d3

{lpmarkb set}

wait

;not allowed

doensh0 #$10
nop

jmp end

{lpmarka set}

;not allowed

doensh1 #count2
move.w #num,d2

doen1 #5

{lpmarka set}

;not allowed

LPMARK Rule L.L.5

A MOVE-like instruction that writes the SR register is not allowed at LPB-2, LPB-1, LPB, LPB+1, or
LPB+2 of a long loop.

Advertising