Standard
RLL Instructions
5–68
Standard RLL Instructions
Math Instructions
MULD
A aaa
Multiply Double is a 32 bit instruction that
multiplies the 8-digit BCD value in the
accumulator by the 8-digit BCD value in
the two consecutive V-memory locations
specified in the instruction. The lower 8
digits of the results reside in the
accumulator. Upper digits of the result
reside in the accumulator stack.
Operand Data Type DL05 Range
A aaa
Vmemory V All (See p. 4–28)
Pointer P All (See page 4–28)
Discrete Bit Flags Description
SP63 On when the result of the instruction causes the value in the accumulator to be zero.
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: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the constant Kbc614e hex will be loaded
into the accumulator. When converted to BCD the number is ”12345678”. That
numberis stored in V1400 and V1401. After loading the constant K2 into the
accumulator, we multiply it times 12345678, which is 24691356.
DirectSOFT Display
Handheld Programmer Keystrokes
LDD
Kbc614e
X1
Load the hex equivalent
of 12345678 decimal into
the accumulator.
BCD
Convert the value to
BCD format. It will
occupy eight BCD digits
(32 bits).
OUTD
V1400
Output the number to
V1400 and V1401 using
the OUTD instruction.
3562469
678
(Accumulator)
1 2 3 4 5 6 7 8
1
(Accumulator)
V1500
1
5
V1400
356
V1403
2469
2
Acc.
LD
K2
Load the constant K2
into the accumulator.
MULD
V1400
Multiply the accumulator
contents (2) by the
8-digit number in V1400
and V1401.
OUTD
V1402
Move the result in the
accumulator to V1402
and V1403 using the
OUTD instruction.
2341
V1401
SHFT
SHFT
SHFT
SHFT
SHFT
SHFT
SHFT
SHFT
1
B
OUT
GX
ENT
ANDST
L
3
D
ORST
M
ANDST
L
STR
$
3
D
JMP
K
1
B
2
C
1
B
6
G
4
E
ENT
1
B
2
C
3
D
ENT
ENT
ENT
ENT
3
D
3
D
3
D
ISG
U
1
B
4
E
0
A
0
A
2
C
ANDST
L
1
B
4
E
0
A
0
A
OUT
GX
3
D
1
B
4
E
0
A
2
C
SHFT
SHFT
JMP
K
Multiply Double
(MULD)