XMAC P,loc16,*(pma)
6-378
XMAC P,loc16,*(pma)
C2xLP Source-compatible Multiply and Accumulate
SYNTAX OPTIONS
OPCODE
OBJMODE
RPT
CYC
XMAC P,loc16,*(pma)
1000 0100 LLLL LLLL
CCCC CCCC CCCC CCCC
1
Y
N+2
Operands
P
Product register
loc16
Addressing mode (see Chapter 5)
*(pma)
Immediate program memory address, access high 64K range of program
space only (0x3F0000 to 0x3FFFFF)
Description
Add the previous product (stored in the P register), shifted as specified
by the
product shift mode (PM), to the ACC register. Next, load the T register with
the content of the location pointed to by the “loc16” addressing mode. Last,
multiply the signed 16-bit content of the T register by the signed 16-bit
content of the addressed program memory location and store the 32-bit
result in the P register:
ACC = ACC + P << PM;
T = [loc16];
P = signed T * signed Prog[0x3F:pma];
The C28x forces the upper 6 bits of the program memory address, specified
by the ”*(pma)” addressing mode, to 0x3F when using this form of the MAC
instruction. This limits the program memory address to the high 64K of
program address space (0x3F0000 to 0x3FFFFF). On the C28x devices,
memory blocks are mapped to both program and data space (unified
memory), hence the ”*(pma)” addressing mode can be used to access data
space variables that fall within its address range.
Flags and
Modes
Z
After the addition, the Z flag is set if the ACC value is zero, else Z is cleared.
N
After the addition, the N flag is set if bit 31 of the ACC is 1, else N is cleared.
C
If the addition generates a carry, C is set; otherwise C is cleared.
V
If an overflow occurs, V is set; otherwise V is not affected.
OVC
If overflow mode is disabled; and if the operation generates a positive
overflow, then the counter is incremented. If overflow mode is disabled; and if
the operation generates a negative overflow, then the counter is
decremented.
OVM
If overflow mode bit is set; then the ACC value will saturate maximum
positive (0x7FFFFFFF) or maximum negative (0x80000000) if the operation
overflowed.
Summary of Contents for TMS320C28x
Page 30: ...1 12...
Page 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Page 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Page 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Page 509: ...SUBL ACC P PM 6 352 SUBL ACC P PM ACC S B 11 M X 4 MOVH Y ACC 5 Store Q15 result into Y...
Page 585: ...This page intentionally left blank 7 32 This page intentionally left blank...