|Description||Subtract from A register|
|Format||SUB <addr. mode> <disp.>|
|Affected||A:=A-(ea), C, O, Q|
SUB is an assembly instruction. It subtracts the contents of the memory location pointed to by the effective address from the A register, leaving the result in the A register. The instruction is performed by forming the 2's complement of the 16-bit word in the effective address and add it to the content of the A register, so flags (see below) are affected exactly the same was as for the ADD instruction.
The carry indicator (C) is set to 1 if a carry occurs from the sign bit positions of the adder, otherwise the carry indicator is reset to 0. If the signs of the two operands are equal, but the sign of the result is different, overflow has occurred, and both the dynamic overflow indicator (Q) and the static overflow indicator (O) are set to one. If the condition for overflow does not exist, the dynamic overflow indicator is reset to 0, while the static overflow indicator is left unchanged.