High−level Instructions
3 − 76
Explanation of example
Multiplies the contents of data register DT10 and DT20 when trigger R0 turns on.
The result is stored in data registers DT 31 and DT 30.
When the decimal number 8 is in DT10 and the decimal number 2 is in DT20.
····
Bit position
·····
DT10
15
000
12
0
11
000
8
0
7
000
4
0
3
100
0
0
Multiplicand [S1]: K8
····
Bit position
·····
DT20
15
000
12
0
11
000
8
0
7
000
4
0
3
001
0
0
Multiplier [S2]: K2
····
Bit position
·····
DT31
15
000
12
0
11
000
8
0
7
000
4
0
3
000
0
0
Result [D+1, D]: K16
Higher 16-bit area Lower 16-bit area
····
Bit position
·····
DT30
15
000
12
0
11
000
8
0
7
000
4
1
3
000
0
0
The lower 16 bits of the 32−bit multiplication result are stored in the specified memory area (DT30), and the
higher16 bits are stored in the area following the specified area (DT31).
Description
Multiplies the 16-bit data or 16-bit equivalent constant specified by S1 and the 16-bit data or 16-bit equivalent
constant specified by S2. The multiplied result is stored in D+1 and D (32-bit area).
Multiplicand data Result
(S1) (D+1, D)× (S2)
Multiplier data
The multiplied result is stored in the 32-bit area.
The higher 16-bit area (D+1) is automatically determined once the lower 16-bit area (D) is specified.
Flag conditions
・Error flag (R9007): Turns on and stays on when the area specified using the index modifier
exceeds the limit.
・Error flag (R9008): Turns on for an instant when the area specified using the index modifier
exceeds the limit.
・= flag (R900B): Turns on for an instant when the calculated result is recognized as “0”.