SUBL loc32, ACC
6-353
SUBL loc32, ACC Subtract 32-bit Value
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
SUBL loc32, ACC
0101 0110 0100 0001
0000 0000 LLLL LLLL
1 − 1
Operands loc32 Addressing mode (see Chapter 5)
ACC Accumulator register
Description Subtract the content of the ACC register from the location pointed to by the
“loc32” addressing mode:
[loc32] = [loc32] − ACC;
Flags and
Modes
Z After the subtraction, the Z flag is set if the ACC value is zero, else Z is
cleared.
N After the subtraction, the N flag is set if bit 31 of the [loc32] is 1, else N is
cleared.
C If the subtraction generates a borrow, C is cleared; otherwise C is set.
V If an overflow occurs, V is set; otherwise V is not affected.
OVC 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.
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
; Decrement the 32-bit value VarA:
MOVB ACC,#1 ; Load ACC with 0x00000001
SUBL @VarA,ACC ; VarA = VarA − ACC