整数乘法产生双整数指令(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除)。
实数加法(ADD-R)、减法(SUB-R)指令:将两个32位实数相加或相减,并产生一个32位实数结果,从OUT*的存储单元输出。
实数乘法(MUL-R)、除法(DIV-R)指令:使能输入有效时,将两个32位实数相乘(除),并产生一个32位积(商),从OUT*的存储单元输出。
操作数:IN1/IN2: VD, ID, QD, MD, SMD, SD, LD, AC, 常量, *VD, *LD, *AC。
OUT: VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC 。
表1 实数加减乘除指令
,用自然对数除以2.302585(约等于10的自然对数)。
(3)自然指数(EXP)指令:将IN取以e为底的指数,并将结果置于OUT*的存储单元中。
将“自然指数”指令与“自然对数”指令相结合,可以实现以任意数为底,任意数为指数的计算。求yx,输入以下指令:EXP (x * LN (y))。
例如:求23=EXP(3*LN(2))=8;27的3次方根=271/3=EXP(1/3*LN(27))=3。
(4)三角函数指令:将一个实数的弧度值IN分别求SIN、COS、TAN,得到实数运算结果,从OUT*的存储单元输出。
函数变换指令格式及功能如表1所示。
表1 函数变换指令格式及功能
LAD
STL SQRT IN,OUT LN IN,OUT EXP IN,OUT SIN IN,OUT COS IN,OUT TAN IN,OUT
功能 SQRT(IN)=OUT LN(IN)=OUT EXP(IN)=OUT SIN(IN)=OUT COS(IN)=OUT TAN(IN)=OUT
操作数及数据类型
IN: VD, ID, QD, MD, SMD, SD, LD, AC, 常量, *VD, *LD, *AC
OUT:VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC
数据类型:实数
使ENO = 0的错误条件:0006(间接地址),SM1.1(溢出)SM4.3(运行时间)
对标志位的影响:SM1.0(零),SM1.1(溢出),SM1.2(负数)
逻辑运算是对无符号数按位进行与、或、异或和取反等操作。操作数的长度有B、W、DW。指令格式如表1所示。
1. 逻辑与(WAND)指令:将输入IN1,IN2按位相与,得到的逻辑运算结果,放入OUT*的存储单元。
2. 逻辑或(WOR)指令:将输入IN1,IN2按位相或,得到的逻辑运算结果,放入OUT*的存储单元。
3. 逻辑异或(WXOR)指令:将输入IN1,IN2按位相异或,得到的逻辑运算结果,放入OUT*的存储单元。
4. 取反(INV)指令:将输入IN按位取反,将结果放入OUT*的存储单元。
表1 逻辑运算指令格式
LAD
STL ANDB IN1,OUT
ANDW IN1,OUT
ANDD IN1,OUT ORB IN1,OUT
ORW IN1,OUT
ORD IN1,OUT XORB IN1,OUT
XORW IN1,OUT
XORD IN1,OUT INVB OUT
INVW OUT
INVD OUT
功能 IN1,IN2按位相与 IN1,IN2按位相或 IN1,IN2按位异或 对IN取反
操作数 B IN1/IN2:VB, IB, QB, MB, SB, SMB, LB, AC, 常量, *VD, *AC, *LD
OUT:VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *AC, *LD
W IN1/IN2:VW, IW, QW, MW, SW, SMW, T, C, AC, LW, AIW, 常量, *VD, *AC, *LD
OUT:VW, IW, QW, MW, SW, SMW, T, C, LW, AC, *VD, *AC, *LD