乘法指令(Multiplication,MUL)基本形式见表7- 21。 表7- 21 乘法指令基本形式 1) 16位乘法运算。16位乘法指令将源元件中的二进制数相乘,结果(32位)送到指定的目标元件。如图7 - 28所示,当X0为ON时,执行(D0)×(D1)→(D5,D4),即乘积的低位字送D4,高位字送D5。注意数据的最高位是符号位,0为正,1为负。 对于16位乘法指令,V不能用于[D·]中。 目标位元件(如KnM)可用K1~K8来指定位数。如果用K4来指定位数,只能得到乘积的低16位。 2) 32位乘法运算。在32位乘法运算中,如果用位元件作目标,则乘积只能得到低32位,高32位丢失。在这种情况下,应先将数据移入字元件后再进行计算。在图7 - 29中,当X1为ON时,执行(D1,D0)×(D3,D2)→(D7,D6; D5,D4)。
图7-28 16位乘法指令使用举例
图7-29 32位乘法指令使用举例 用字元件时,不可能监视64位数据,可通过监视高32位和低32位来获得64位的运算结果。对于32位乘法指令,建议采用浮点运算。 对于32位乘法指令,V和Z均不能用[D·]中。