Z8 Microcontrollers
ZiLOG
Instruction Descriptions and Formats
UM001600-Z8X0599
12-63
SBC
SUBTRACT WITH CARRY
SBC
Subtract With Carry
SBC dst, src
Instruction Format:
Operation:
dst <— dst - src - C
The source operand, along with the setting of the C Flag, is subtracted from the destination operand and
the result is stored in the destination operand. The contents of the source operand are not affected.
Subtraction is performed by adding the two’s complement of the source operand to the destination
operand. In multiple precision arithmetic, this instruction permits the carry (borrow) from the subtraction
of low order operands to be subtracted from the subtraction of high order operands.
Note:
Address modes R or IR can be used to specify a 4-bit Working Register. In this format, the source or
destination Working Register operand is specified by adding 1110B (EH) to the high nibble of the
operand. For example, if Working Register R12 (CH) is the destination operand, then ECH will be used
as the destination operand in the Op Code.
dst
src
OPC
OPC
OPC
src
dst
dst
src
6
6
Cycles
OPC
(Hex)
Address
dst
Mode
src
32
33
r
r
r
Ir
10
10
34
35
R
R
R
IR
10
10
36
37
R
IR
IM
IM
Flags:
C:
Cleared if there is a carry from the most significant bit of the result; set otherwise, indicating a
“borrow.”
Set if the result is 0; cleared otherwise.
Set if arithmetic overflow occurred (if the operands were of opposite sign and the sign of the
result is the same as the sign of the source); reset otherwise.
Set if the result is negative; cleared otherwise.
Cleared if there is a carry from the most significant bit of the low order four bits of the result;
set otherwise indicating a “borrow.”
Always set to 1.
Z:
V:
S:
H:
D:
E
src
E
dst
or