Z8 Microcontrollers
Instruction Descriptions and Formats
ZiLOG
12-72
UM001600-Z8X0599
SUB
SUBTRACT
SUB
Subtract
SUB dst, src
Instruction Format:
Operation:
dst <— dst - src
The source operand 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.
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.
Example:
]If Working Register R3 contains 16H, and Working Register R11 contains 20H, the statement:
SUB R3, R11
Op Code: 22 3B
leaves the value F6H in Working Register R3. The C, S, and D Flags are set, and the Z, V, and H Flags
are cleared.
dst
src
OPC
OPC
OPC
src
dst
dst
src
6
6
Cycles
OPC
(Hex)
Address
dst
Mode
src
22
23
r
r
r
Ir
10
10
24
25
R
R
R
IR
10
10
26
27
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