English
Language : 

D950-CORE Datasheet, PDF (28/89 Pages) STMicroelectronics – 16-Bit Fixed Point Digital Signal Processor DSP Core
D950-Core
SWI
Non maskable (internally vectorized) software interrupt SWI is a 3-cycle instruction whose
interrupt routine address is 0x0002. Return from the SWI routine is performed through RTI.
The SWI routine is non-interruptible by an external interrupt request.
Note:
IT should not be asserted low if a previous request has not been acknowledged. In this case,
the previous request will not be processed.
EI and IPE bits are not affected when STA register is restored.
4.3.5 Loop Controller
Table 4.3 Loop Instruction
Loop Instruction
REPEAT
Body of loop
Single instruction
Block of instructions
Block of instructions
Loop value
Immediate
Immediate
Computed
Hardware loop resources
The program sequencer includes a powerful hardware loop mechanism. This allows the
nesting of up to three levels of loops by using nine 16-bit registers, organized in three banks
of three registers.
Each bank includes one loop start address register (LS), one loop end address register (LE)
and one loop count register (LC). These registers can be read and written by register move
instructions, allowing extension of the number of nested loops by software.
The currently selected loop register bank is pointed to by bits LSP1 and LSP0 of the CCR.
When the current level changes, this 2-bit register is incremented or decremented through
dedicated instructions (see Section 5.4.5“Conditional Assignment Instruction”) to modify
the bank.
Loop operation: REPEAT instruction
The REPEAT instruction performs automatic management of the different loop registers (LS,
LC, LE and LSP) and defines the number of iterations and address of the last instruction of the
loop.
The loop begins at the instruction following REPEAT. Conditional instructions CONTINUE and
BREAK can be put within a loop. Their effect is to restart (resp. exit from) the loop when the
condition is verified.
Notes 1: The maximum repeat count value of 216-1 is obtained by setting LC to 0xFFFF.
2: An endless loop can be set up by initializing LC to: 0x0000 for REPEAT block,
0x0001 for REPEAT single.
28/89
5