DL205 User Manual, 4th Edition, Rev. B
5–114
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Subtract Top of Stack (SUBS)
Subtract Top of Stack is a 32-bit instruction that subtracts
the BCD value in the first level of the accumulator stack
from the BCD value in the accumulator. The result resides in
the accumulator. The value in the first level of the
accumulator stack is removed and all stack values are moved
up one level.
NOTE:
Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into
the accumulator using the Load Double instruction. The value in V1420 and V1421 is
loaded into the accumulator using the Load Double instruction, pushing the value previously
loaded into the accumulator onto the accumulator stack. The BCD value in the first level of
the accumulator stack is subtracted from the BCD value in the accumulator using the
Subtract Stack instruction. The value in the accumulator is copied to V1500 and V1501
using the Out Double instruction.
ý
ý
ý
þ
230
240
2
5
0
-1
2
6
0
S
U
B
S
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.
LDD
V1400
X1
Load the value in V1400 and
V1401 into the accumulator
LDD
V1420
Load the value in V1420 and
V1421 into the accumulator
OUTD
V1500
Copy the value in the
accumulator to V1500
and V1501
X X X X X X X X
Level 1
X X X X X X X X
Level 2
X X X X X X X X
Level 3
X X X X X X X X
Level 4
X X X X X X X X
Level 5
X X X X X X X X
Level 6
X X X X X X X X
Level 7
X X X X X X X X
Level 8
0 0 1 7 2 0 5 6
Level 1
X X X X X X X X
Level 2
X X X X X X X X
Level 3
X X X X X X X X
Level 4
X X X X X X X X
Level 5
X X X X X X X X
Level 6
X X X X X X X X
Level 7
X X X X X X X X
Level 8
SUBS
Subtract the value in the first
level of the accumulator
stack from the value in the
accumulator
Acc.
V1400
2 0 5 6
0 0 1 7
2 0 5 6
V1401
0 0 1 7
Acc.
V1420
5 0 2 6
0 0 3 9
5 0 2 6
V1421
0 0 3 9
Accumulator stack
after 1st LDD
Accumulator stack
after 2nd LDD
Acc. 0 0 2 2
2 9 7 0
0 0 2 2
2 9 7 0
Handheld Programmer Keystrokes
SHFT
ANDST
L
3
D
STR
$
SHFT
ISG
U
1
B
OUT
GX
SHFT
3
D
1
B
5
F
0
A
0
A
ENT
1
B
ENT
1
B
4
E
0
A
0
A
ENT
ENT
SHFT
ANDST
L
3
D
1
B
4
E
2
C
0
A
ENT
3
D
RST
S
3
D
RST
S
SHFT
V1501
V1500
Direct
SOFT
DS
Used
HPP Used