HD6417641 RENESAS [Renesas Technology Corp], HD6417641 Datasheet - Page 176

no-image

HD6417641

Manufacturer Part Number
HD6417641
Description
Manufacturer
RENESAS [Renesas Technology Corp]
Datasheet
Section 3 DSP Operation
5. If a repeat loop has four or more instructions in it, any branch instructions (BRA, BSR, BT,
Table 3.16 Address Value to be Stored into SPC (2)
6. If a repeat loop has less than four instructions in it, any PC relative instructions (MOVA
7. If a repeat loop has four or more instructions in it, any PC relative instructions (MOVA
8. The CPU has no repeat enable flag, however it uses the condition RC = 0 to disable repeat
9. If a repeat loop has four or more instructions in it, any branch instructions, including
10. Exception acceptance is restricted during repeat loop processing. See figure 3.18 for details on
Rev. 4.00 Sep. 14, 2005 Page 126 of 982
REJ09B0023-0400
Condition
RC ≥ 2
RC = 1
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 the TRAPA instruction
must not be written within the last three instructions from the bottom of a repeat loop. If
written, a general invalid instruction exception handling starts, and a certain address value
shown in table 3.16 is stored into SPC. In cases of repeat control instructions (SETRC, LDRS
and LDRE) and load instructions for SR, RS, and RE, and the TRAPA instruction they cannot
be placed in any other location of the repeat loop, either. If they are, the operation is not
guaranteed.
@(disp, PC),R0, etc.) don't work properly except for the instruction at the repeat top (instr1).
@(disp, PC),R0, etc.) don't work properly at two instructions from the bottom of the repeat
loop.
control. Whenever the RC is not 0 and PC matches RE, the repeat control is alive. When 0 is
set in the RC, the repeat control is disabled but the repeat loop is executed once and does not
return to the repeat start as well as in the RC = 1 case. When RC = 1, the repeat loop is
executed once and does not return to the repeat start but the RC becomes 0 after completing
the execution of the repeat loop.
subroutine call and return instructions, cannot specify the instruction from inst3 to inst5 in the
previous example as the branch target address. If executed, the repeat control doesn't work, so
the program goes to the following instruction and the RC is not updated. When a repeat loop
has less than four instructions in it, the repeat control doesn't work properly and the RC value
in SR is not updated if the branch target is RptStart or a subsequent address.
restrictions.
Location
instr3
instr4
instr5
Any
Address to be Pushed
Address of the illegal instruction
RptStart − 4
RptStart − 2
Address of the illegal instruction

Related parts for HD6417641