指令说明:
DMULP是32位脉冲执行型乘法运算指令,即指令激活一次,执行一次乘法运算。是将源操作数[S1+1,S1]和源操作数[S2+1,S2]的内容进行二进制乘法运算后传送到目标操作数[D+3,D+2,D+1,D]的64位(四字)中。
各数据位的最高位为正(0)、负(1)的符号位,这些数据以代数方式进行乘法运算。
例:5500×(-8540)= -46970000
[S1+1,S1]和[S2+1,S2]中指定常数(K)时,会自动进行BIN(二进制数)转换。
[D+3,D+2,D+1,D]中指定位数为(K1~8)时,只能获得低32位的结果。
操作数:
S1:KnX, KnY, KnM, KnS,T,C,D,K,H,V,Z,LV,DT,@
S2:KnX, KnY, KnM, KnS,T,C,D,K,H,V,Z,LV,DT,@
D:KnY, KnM, KnS, T,C,D,Z,V,LV,DT
指令格式:[DMULP S1 S2 D]
编程示例:
前面条件满足后,100×200= D7D6D5D4,D7D6D5D4=20000
D1D0 × D3D2 = D7D6D5D4
32位 32位 64位

注意:一定要注意储存空间的结构,避免存储地址重叠,而得不到正确的数据。