Control Law Accelerator (CLA)
C2000 Microcontroller Workshop - Control Law Accelerator 10 - 13
CLA Assembly Language Implementation
CLA Assembly Language
Implementation
Same assembly instruction format as the
C28x and C28x+FPU
Destination operand is always on the left
Same mnemonics as C28x+FPU but with a
leading “M”
CPU: MPY ACC, T, loc16
FPU: MPYF32 R0H, R1H, R2H
CLA: MMPYF32 MR0, MR1, MR2
Destination Source Operands
CLA Assembly Instruction Overview
Type Example Cycles
Load (Conditional)
MMOV32 MRa,mem32{,CONDF}
1
Store
MMOV32 mem32,MRa
1
Load with Data Move
MMOVD32 MRa,mem32
1
Store/Load MSTF
MMOV32 MSTF,mem32
1
Compare, Min, Max
MCMPF32 MRa,MRb
1
Absolute, Negative Value
MABSF32 MRa,MRb
1
Unsigned Integer to Float
MUI16TOF32 MRa,mem16
1
Integer to Float
MI32TOF32 MRa,mem32
1
Float to Integer & Round
MF32TOI16R MRa,MRb
1
Float to Integer
MF32TOI32 MRa,MRb
1
Multiply, Add, Subtract
MMPYF32 MRa,MRb,MRc
1
1/X (16-bit Accurate)
MEINVF32 MRa,MRb
1
1/Sqrt(x) (16-bit Accurate)
MEISQRTF32 MRa,MRb
1
Integer Load/Store
MMOV16 MRa,mem16
1
Load/Store Auxiliary Register
MMOV16 MAR,mem16
1
Branch/Call/Return
Conditional Delayed
MBCNDD 16bitdest {,CNDF}
1-7
Integer Bitwise AND, OR, XOR
MAND32 MRa,MRb,MRc
1
Integer Add and Subtract
MSUB32 MRa,MRb,MRc
1
Integer Shifts
MLSR32 MRa,#SHIFT
1
Write Protection Enable/Disable
MEALLOW
1
Halt Code or End Task
MSTOP
1
No Operation
MNOP
1