7-10
SC140 DSP Core Reference Manual
Static Programming Rules
Example 7-8 Duplicate Register Destinations
move.w #$1234,d0.h
move.w #$5678,d0.l
;not allowed
bmset #3,sr.h
bmset #4,sr.l
;not allowed
Note that
BMSET #$3,SR.H
reads and writes the 32-bit SR register.
•
MOVE-like instructions that write the SR or EMR register cannot be grouped in a VLES with
instructions that affect individual status bits in the same register.
Example 7-9 Duplicate SR/EMR Register Destinations
pop sr
add d0,d1,d2
;not allowed - C bit is written twice
ift pop sr
iff add d0,d1,d2
;allowed
pop sr
bmtstc #$3,d0.l
;not allowed - T bit is written twice
add d0,d1,d2 bmset #$0040,emr.l
;not allowed - DOVF is written twice
add d0,d1,d2 bmset #$0040,emr.h
;not allowed - DOVF is written twice
Note that
BMSET #$3,SR.H
reads and writes the 32-bit SR register, while
BMTSTC #$3,D0.L
affects only the T status bit in SR.
•
Multiple instructions that affect the same status bit (T, VF0-3, DI, LF0-3, or SLF bits in SR) cannot
be grouped in a VLES.
Example 7-10 Duplicate Status Bit Destinations
cmpeq d0,d1
tstgea.l r0
;not allowed - multiple T bit updates
cmpeq d0,d1
bmtstc #$3,d0.l
;not allowed - multiple T bit updates
Note that
BMSET #$3,SR.H
reads and writes the 32-bit SR register, while
BMTSTC #$3,D0.L
affects only the T status bit in SR.
•
Rule G.G.4 also applies to core vs. ISAP instructions in addition to ISAP vs. ISAP instructions. For
the latter case, the ISAP assembler is responsible for detecting the violation.
Rule G.G.4 Exceptions
•
Two push or pop instructions that both implicitly write the SP register can be grouped in a VLES if
they access different, De (even) and Do (odd), register fields. For the following groupings, the
SC140 ensures that the SP register is written correctly. This case applies to the whole VLES.
Example 7-11 Dual Stack Pointer Destination Exception
push
De field
push
Do field
;allowed
pushn
De field
pushn
Do field
;allowed
pop
De field
pop
Do field
;allowed
popn
De field
popn
Do field
;allowed
ift push De field
ifa push Do field
;allowed
•
Two mutually exclusive writes to the same register (except the PC register) can be grouped in a
VLES.
Содержание SC140 DSP Core
Страница 12: ...xii SC140 DSP Core Reference Manual ...
Страница 18: ...xviii SC140 DSP Core Reference Manual ...
Страница 32: ...1 6 SC140 DSP Core Reference Manual Core Architecture Features ...
Страница 180: ...4 70 SC140 DSP Core Reference Manual Trace Unit Registers ...
Страница 250: ...6 70 SC140 DSP Core Reference Manual Programming Rules ...
Страница 314: ...7 64 SC140 DSP Core Reference Manual NOP Definition ...
Страница 385: ...BMCHG W SC140 DSP Core Reference Manual A 71 u16 iiiiiiiiiiiiiiii 16 bit unsigned immediate data ...
Страница 388: ...A 74 SC140 DSP Core Reference Manual BMCHG W s16 AAAAAAAAAAAAAAAA 16 bit signed SP address offset ...
Страница 391: ...BMCLR SC140 DSP Core Reference Manual A 77 u16 iiiiiiiiiiiiiiii 16 bit unsigned immediate data ...
Страница 454: ...A 140 SC140 DSP Core Reference Manual DECA u5 iiiii 5 bit unsigned immediate data 1 set by the assembler ...
Страница 463: ...DI SC140 DSP Core Reference Manual A 149 15 8 7 0 DI 1 1 4 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 ...
Страница 478: ...A 164 SC140 DSP Core Reference Manual EI ...
Страница 592: ...A 278 SC140 DSP Core Reference Manual MOVE L a32 aaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAA 32 bit absolute long address ...
Страница 618: ...A 304 SC140 DSP Core Reference Manual MOVES 4F s15 sssssssssssssss Signed 15 bit offset ...
Страница 638: ...A 324 SC140 DSP Core Reference Manual MPYR ...
Страница 660: ...A 346 SC140 DSP Core Reference Manual OR W s16 AAAAAAAAAAAAAAAA Signed 16 bit SP address offset ...
Страница 746: ...A 432 SC140 DSP Core Reference Manual ZXTA x ...
Страница 758: ...I 10 Index ...
Страница 759: ...SC140 DSP Core Reference Manual i ...
Страница 760: ......