Standard
RLL Instructions
5–66
Standard RLL Instructions
Math Instructions
SUBD
A aaa
Subtract Double is a 32 bit instruction that
subtracts the BCD value (Aaaa), which is
either two consecutive V memory
locations or an 8-digit (max.) constant,
from the BCD value in the accumulator.
The result resides in the accumulator.
Operand Data Type DL05 Range
A aaa
V memory V All (See page 4–28)
Pointer P All (See page 4–28)
Constant K 0–99999999
Discrete Bit Flags Description
SP63 On when the result of the instruction causes the value in the accumulator
to be zero.
SP64 On when the 16 bit subtraction instruction results in a borrow.
SP65 On when the 32 bit subtraction instruction results in a borrow.
SP70 On anytime the value in the accumulator is negative.
SP75 On when a BCD instruction is executed and a NON–BCD number was
encountered.
NOTE: The status flags are only valid until another instruction that uses the same
flags is executed.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded
into the accumulator using the Load Double instruction. The value in V2006 and
V2007 is subtracted from the value in the accumulator. The value in the accumulator
is copied to V2010 and V2011 using the Out Double instruction.
DirectSOFT
Handheld Programmer Keystrokes
LDD
V2000
X1
Load the value in V2000 and
V2001 into the accumulator
SUBD
V2006
The in V2006 and V2007 is
subtracted from the value in
the accumulator
OUTD
V2010
Copy the value in the
accumulator to V2010 and
V2011
8990039
2740106
(Accumulator)
y
0 1 0 6 3 2 7 4
0
(V2006 and V2007)
V2010
0
3
V2000
899
V2001
V2011
0039
67 2375
ACC.
STR
$
SHFT
SHFT
ANDST
L
3
D
3
D
3
D
OUT
GX
SHFT
3
D
RST
S
ISG
U
1
B
1
B
ENT
2
C
0
A
0
A
ENT
6
G
2
C
0
A
0
A
0
A
ENT
2
C
0
A
1
B
0
A
ENT
SHFT
Subtract Double
(SUBD)