ADDU ACC,loc16
SYNTAX OPTIONS
ADDU ACC,loc16
Operands
ACC
loc16
Description
Flags and
Z
Modes
N
C
V
OVC
OVM
Repeat
Example
; Add three 32-bit unsigned variables by 16-bit parts:
MOVU ACC,@VarAlow
ADD
ACC,@VarAhigh << 16
ADDU ACC,@VarBlow
ADD
ACC,@VarBhigh << 16
ADDCU ACC,@VarClow
ADD
ACC,@VarChigh << 16
0000 1101 LLLL LLLL
Accumulator register
Addressing mode (see Chapter 5)
Add the 16-bit contents of the location pointed to by the "loc16" addressing
mode to the ACC register. The addressed location is zero extended before the
add:
ACC = ACC + 0:[loc16];
After the addition, the Z flag is set if ACC is zero, else Z is cleared.
After the addition, the N flag is set if bit 31 of the ACC is 1, else N is cleared.
If the addition generates a carry, C is set; otherwise C is cleared.
If an overflow occurs, V is set; otherwise V is not affected.
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.
If overflow mode bit is set; then the ACC value will saturate maximum positive
(0x7FFFFFFF) or maximum negative (0x80000000) if the operation
overflowed.
If this operation is repeated, then the instruction will be executed N+1 times.
The state of the Z, N, C flags will reflect the final result. The V flag will be set if
an intermediate overflow occurs. The OVC flag will count intermediate
overflows, if overflow mode is disabled.
Add Unsigned Value to Accumulator
OPCODE
; AH = 0, AL = VarAlow
; AH = VarAhigh, AL = VarAlow
; ACC = ACC + 0:VarBlow
; ACC = ACC + VarBhigh << 16
; ACC = ACC + VarClow + Carry
; ACC = ACC + VarChigh << 16
ADDU ACC,loc16
OBJMODE
RPT
CYC
X
Y
N+1
6-39
Need help?
Do you have a question about the TMS320C28x and is the answer not in the manual?