Operands
5-8
5.6
Operands
The ’C6000 architecture requires that memory reads and writes move data
between memory and a register. Figure 5–7 shows the position of the oper-
ands in a line of assembly code.
Figure 5–7. Operands in the Assembly Code
label:
[condition]
instruction unit
operands
; comments
parallel bars
Instructions have the following requirements for operands in the assembly
code:
-
All instructions require a destination operand.
-
Most instructions require one or two source operands.
-
The destination operand must be in the same register file as one source
operand.
-
One source operand from each register file per execute packet can come
from the register file opposite that of the other source operand.
When an operand comes from the other register file, the unit includes an X,
as shown in Figure 5–8, indicating that the instruction is using one of the
cross paths. (See the
TMS320C6000 CPU and Instruction Set Reference
Guide for more information on cross paths.)
Figure 5–8. Operands in Instructions
.L1
A0,A1,A3
.L1X
A0,B1,A3
All registers except B1 are on the same side of the CPU.
ADD
ADD
The ’C6000 instructions use three types of operands to access data:
-
Register operands indicate a register that contains the data.
-
Constant operands specify the data within the assembly code.
-
Pointer operands contain addresses of data values.
Only the load and store instructions require and use pointer operands to
move data values between memory and a register.