该指令的助记符、指令代码、操作数、程序步如表
1 所示。
表 1 乘法指令的要素
指令名称
|
助记符
|
指令代码位数
|
操作数范围
|
程序步
|
S1(.) |
S2(.) |
D(.) |
乘法
|
MUL
MUL(P) |
FNC22
(16/32) |
K
、
H
KnX
、 KnY
、 KnM 、
KnS
T
、 C
、 D 、
V 、
Z |
KnY
、 KnM
、
KnS
T
、 C
、 D 、
V 、
Z |
MUL
、 MULP…7
步
DMUL
、 DMULP…13
步
|
MUL
乘法指令是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去。
MUL 乘法指令使用说明如图 1 所示。它分
16 位和 32 位两种情况。
图 1 乘法指令使用说明
当为 16
位运算,执行条件 X0 由 OFF
→ ON 时,
[D0]x[D2] → [D5 ,
D4] 。源操作数是 16 位,目标操作数是
32 位。当 [D0]=8 ,
[D2]=9 时, [D5 ,
D4]=72 。最高位为符号位, 0 为正,
1 为负。
当为 32
位运算,执行条件 X0 由 OFF
→ ON 时, [D1
、 D0]x[D3 、 D2]
→ [D7 、 D6
、 D5 、D4]
。源操作数是 32 位,目标操作数是 64
位。当 [D1 、
D0]=238 , [D3 、
D2]=189 时, [D7 、
D6 、 D5 、
D4]=44982 ,最高位为符号位, 0 为正,
1 为负。
如将位组合元件用于目标操作数时,限于
K 的取值,只能得到低位 32 位的结果,不能得到高位
32 位的结果。这时,应将数据移入字元件再进行计算。
用字元件时,也不可能监视 64
位数据,只能通过监视高位 32 位和低
32 位。 V 、 Z
不能用于 [D] 目标元件。