SUBL ACC, loc32
6-350
SUBL ACC, loc32 Subtract 32-bit Value
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
SUBL ACC, loc32 0000 0011 LLLL LLLL 1 − 1
Operands ACC Accumulator register
loc32 Addressing mode (see Chapter 5)
Description Subtract the 32-bit location pointed to by the “loc32” addressing mode from
the ACC register :
ACC = ACC − [loc32];
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 ACC 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), 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.
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 the 32-bit value: VarC = VarA−VarB
MOVL ACC,@VarA ; Load ACC with contents of VarA
SUBL ACC,@VarB ; Subtract from ACC the contents of VarB
MOVL @VarC,ACC ; Store result into VarC