ADD ACC,#16bit<<#0..15
6-22
ADD ACC,#16bit<<#0..15
Add Value to Accumulator
SYNTAX OPTIONS
OPCODE
OBJMODE
RPT
CYC
ADD ACC,#16bit<<#0..15
1111 1111 0001 SHFT
CCCC CCCC CCCC CCCC
X
−
1
Operands
ACC
Accumulator register
#16bit
16-bit immediate constant value
#0..15
Shift value (default is ”<< #0” if no value specified)
Description
Add the left shifted 16-bit immediate constant value to the ACC register.
The shifted value is sign extended if sign extension mode is turned on (SXM
= 1) else the shifted value is zero extended (SXM = 0). The lower bits of the
shifted value are zero filled:
if(SXM = 1) // sign extension mode enabled
ACC = ACC + S:16bit << shift value;
else // sign extension mode disabled
ACC = ACC + 0:16bit << shift value;
Smart Encoding:
If #16bit is an 8-bit number and the shift is 0, then the assembler will encode
this instruction as ADDB ACC, #8bit to improve efficiency. To override this
encoding, use the ADDW ACC, #16bit instruction alias.
Flags and
Modes
Z
After the addition, the Z flag is set if the ACC value is zero, else the flag is
cleared.
N
After the addition, the N flag is set if bit 31 of the ACC is 1, else the flag 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 (OVM = 0, disabled) then if the operation generates a positive overflow,
then the counter is incremented and if the operation generates a negative
overflow, then the counter is decremented. If (OVM = 1, enabled) then the
counter is not affected by the operation.
SXM
If sign extension mode bit is set; then the 16-bit immediate constant will be
sign-extended before the addition. Else, the value will be zero extended.
OVM
If overflow mode bit is set; then the ACC value will saturate maximum
positive (0x7FFFFFFF) or maximum negative (0x80000000) if the operation
overflowed.
Repeat
This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.
Example
; Calculate signed value: ACC = (VarB << 10) + (23 << 6);
SETC SXM
; Turn sign extension mode on
Содержание TMS320C28x
Страница 30: ...1 12...
Страница 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Страница 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Страница 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Страница 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...
Страница 585: ...This page intentionally left blank 7 32 This page intentionally left blank...