SUBU ACC, loc16
SUBU ACC, loc16
SYNTAX OPTIONS
SUBU ACC, loc16
Operands
ACC
loc16
Description
Flags and
Z
Modes
N
C
V
OVC
OVM
Repeat
Example
; Subtract three 32-bit unsigned variables by 16-bit parts:
MOVU
ADD
SUBU
SUB
SBBU
SUB
6-356
Accumulator register
Addressing mode (see Chapter 5)
Subtract the 16-bit contents of the location pointed to by the "loc16"
addressing mode from the ACC register. The addressed location is zero
extended before the add:
ACC = ACC − 0:[loc16];
After the subtraction, the Z flag is set if ACC is zero, else Z is cleared.
After the subtraction, the N flag is set if bit 31 of the ACC is 1, else N is
cleared.
If the subtraction generates a borrow, C is cleared; otherwise C is set.
If an overflow occurs, V is set; otherwise V is not affected.
If OVM = 0 (disabled) and the operation generates a positive overflow, the
counter is incremented and if the operation generates a negative overflow,
the counter is decremented.
If OVM = 1 (enabled), 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.
ACC,@VarAlow
ACC,@VarAhigh << 16
ACC,@VarBlo293w
ACC,@VarBhigh << 16
ACC,@VarClow
ACC,@VarChigh << 16
Subtract Unsigned 16-bit Value
OPCODE
0000 0001 LLLL LLLL
; AH = 0, AL = VarAlow
; AH = VarAhigh, AL = VarAlow
; ACC = ACC − 0:VarBlow
; ACC = ACC − VarBhigh << 16
; ACC = ACC − VarClow − ~Carry
; ACC = ACC − VarChigh << 16
OBJMODE
RPT
CYC
X
Y
N+1
Need help?
Do you have a question about the TMS320C28x and is the answer not in the manual?