SPRUIW9C October 2021 – March 2024 TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1
This section gives detailed information on the instruction set. Each instruction presents the following information:
The example INSTRUCTION is shown to familiarize you with the way each instruction is described. The example describes the kind of information you find in each part of the individual instruction description and where to obtain more information. CLA instructions follow the same format as the C28x instructions; the source operands are always on the right and the destination operands are on the left.
The explanations for the syntax of the operands used in the instruction descriptions for the CLA are given in Table 7-6.
Symbol | Description |
---|---|
#16FHi | 16-bit immediate (hex or float) value that represents the upper 16-bits of an IEEE 32-bit floating-point value. Lower 16-bits of the mantissa are assumed to be zero. |
#16FHiHex | 16-bit immediate hex value that represents the upper 16-bits of an IEEE 32-bit floating-point value. Lower 16-bits of the mantissa are assumed to be zero. |
#16FLoHex | A 16-bit immediate hex value that represents the lower 16-bits of an IEEE 32-bit floating-point value |
#32Fhex | 32-bit immediate value that represents an IEEE 32-bit floating-point value |
#32F | Immediate float value represented in floating-point representation |
#0.0 | Immediate zero |
#SHIFT | Immediate value of 1 to 32 used for arithmetic and logical shifts. |
addr | Opcode field indicating the addressing mode |
CNDF | Condition to test the flags in the MSTF register |
FLAG | Selected flags from MSTF register (OR) 8 bit mask indicating which floating-point status flags to change |
MAR0 | Auxiliary register 0 |
MAR1 | Auxiliary register 1 |
MARx | Either MAR0 or MAR1 |
mem16 | 16-bit memory location accessed using direct, indirect, or offset addressing modes |
mem32 | 32-bit memory location accessed using direct, indirect, or offset addressing modes |
MRa | MR0 to MR3 registers |
MRb | MR0 to MR3 registers |
MRc | MR0 to MR3 registers |
MRd | MR0 to MR3 registers |
MRe | MR0 to MR3 registers |
MRf | MR0 to MR3 registers |
MSTF | CLA Floating-point Status Register |
shift | Opcode field indicating the number of bits to shift. |
VALUE | Flag value of 0 or 1 for selected flag (OR) 8 bit mask indicating the flag value; 0 or 1 |
Each instruction has a table that gives a list of the operands and a short description. Instructions always have the destination operands first followed by the source operands.
Description | |
---|---|
dest1 | Description for the 1st operand for the instruction |
source1 | Description for the 2nd operand for the instruction |
source2 | Description for the 3rd operand for the instruction |
Opcode | This section shows the opcode for the instruction |
Description | Detailed description of the instruction execution is described. Any constraints on the operands imposed by the processor or the assembler are discussed. |
Restrictions | Any constraints on the operands or use of the instruction imposed by the processor are discussed. |
Pipeline | This section describes the instruction in terms of pipeline cycles as described in Section 7.5 |
Example | Examples of instruction execution. If applicable, register and memory values are given before and after instruction execution. Some examples are code fragments while other examples are full tasks that assume the CLA is correctly configured and the main CPU has passed the CLA data. |
Operands | Each instruction has a table that gives a list of the operands and a short description. Instructions always have the destination operands first followed by the source operands. |