该指令的助记符、指令代码、操作数、程序步如表 3 所示。
表 3 乘法指令的要素
指令名称
|
助记符
|
指令代码位数
|
操作数范围
|
程序步
|
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
乘法指令使用说明如图 3 所示。它分 16
位和 32 位两种情况。
图 3 乘法指令使用说明
当为 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] 目标元件。
|