beautypg.com

Renesas SH7641 User Manual

Page 175

background image

Section 3 DSP Operation

Rev. 4.00 Sep. 14, 2005 Page 125 of 982

REJ09B0023-0400

#imm is 8 bits while RC is 12 bits. Therefore, to set more than 256 into RC, use Rm. A sample
program is shown below.

LDRS RptStart;

LDRE RptEnd3+4;

SETRC #imm; RC = #imm

instr0;

; instr1–5 executes repeatedly

RptStart: instr1;

RptEnd3: instr2;

instr3;

instr4;

RptEnd: instr5;

instr6;

In this implementation, there are some restrictions to use this repeat control function as follows:

1. There must be at least one instruction between SETRC and the first instruction in a repeat

loop.

2. LDRS and LDRE must be executed before SETRC.

3. In a case that the repeat loop has four or more instructions in it, stall cycles are necessary

according to the pipeline state at execution.

4. If a repeat loop has less than four instructions in it, it cannot have any branch instructions

(BRA, BSR, BT, BF, BT/S, BF/S, BSRF, RTS, BRAF, RTE, JSR and JMP), repeat control
instructions (SETRC, LDRS and LDRE), load instructions for SR, RS, RE, and a TRAPA
instruction in it. If these instructions are executed, a general invalid instruction exception
handling starts, and a certain address value shown in table 3.15 is stored into SPC.

Table 3.15 Address Value to be Stored into SPC (1)

Condition

Location

Address to be Pushed

RC

≥ 2

Any

RptStart

RC = 1

Any

Address of the illegal instruction

This manual is related to the following products: