整数乘法指令(MUL-I)是:使能输入有效时,将两个16位符号整数相乘,并产生一个16位积,从OUT指定的存储单元输出。
整数除法指令(DIV-I)是:使能输入有效时,将两个16位符号整数相除,并产生一个16位商,从OUT指定的存储单元输出,不保留余数。如果输出结果大于一个字,则溢出位SM1.1置位为1。
双整数乘法指令(MUL-D):使能输入有效时,将两个32位符号整数相乘,并产生一个32位乘积,从OUT指定的存储单元输出。
双整数除法指令(DIV-D):使能输入有效时,将两个32位整数相除,并产生一个32位商,从OUT指定的存储单元输出,不保留余数。
整数乘法产生双整数指令(MUL):使能输入有效时,将两个16位整数相乘,得出一个32位乘积,从OUT指定的存储单元输出。
整数除法产生双整数指令(DIV):使能输入有效时,将两个16位整数相除,得出一个32位结果,从OUT指定的存储单元输出。其中高16位放余数,低16位放商。
整数乘除法指令格式如表5-15所示。
整数双整数乘除法指令操作数及数据类型和加减运算的相同。
整数乘法除法产生双整数指令的操作数:IN1/IN2:VW,
IW, QW, MW, SW, SMW, T, C, LW, AC, AIW,
常量, *VD, *LD,
*AC。数据类型:整数。
OUT:VD,
ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC
。数据类型:双整数。
使ENO = 0的错误条件:0006(间接地址),SM1.1(溢出),SM1.3(除数为0)。
对标志位的影响:SM1.0(零标志位),SM1.1(溢出),SM1.2(负数),SM1.3(被0除)。
表1
整数乘除法指令格式
LAD |
|
|
|
|
|
|
STL |
MOVW IN1,OUT
*I
IN2,0UT |
MOVW IN1,OUT
/I IN2,0UT |
MOVD IN1,OUT
*D IN2,0UT |
MOVD IN1,OUT
/D IN2,0UT |
MOVW IN1,OUT
MUL
IN2,OUT |
MOVW IN1,OUT
DIV
IN2,OUT |
功能 |
IN1*IN2=OUT |
IN1/IN2=OUT |
IN1*IN2=OUT |
IN1/IN2=OUT |
IN1*IN2=OUT |
IN1/IN2=OUT |
|