(1)加法指令
①指令格式:LAD及STI。格式如图6-4所示。
②功能:在LAD中,IN1+IN2=OUT;执行加法操作时,将操作数IN2与OUT共用一个地址单元,因而在STL中,IN1+OUT=OUT。
③数据类型:整数相加时,输入、输出均为INT;双整数相加时,输入、输出均为DINT;实数相加时,输入、输出均为REAL。
图6-4 加法指令
(2)减法指令
①指令格式:LAD及STI。格式如图6-5所示。
②功能:在LAD中,IN1-IN2=OUT;执行减法操作时,将操作数IN1与OUT共用一个地址单元,因而在STI中,OUT-IN2=OUT。
③数据类型:整数相减时,输入、输出均为INT;双整数相减时,输入、输出均为DINT;实数相减时,输入、输出均为REAL。
图6-5 减法指令
(3)乘法指令
①一般乘法指令
·指令格式:LAD及STL格式如图6-6(a)、(b)、(c)所示。
·功能:在LAD中,IN1×IN2=OUT;执行乘法操作时,将操作数IN2与OUT共用一个地址单元,因而在STL中,IN1×OUT=OUT。
·数据类型:整数相乘时,输入、输出均为INT;双整数相乘时,输入、输出均为DINT;实数相乘时,输入、输出均为REAL。
图6-6 乘法指令
②完全整数VW1 0乘法指令
·指令格式:LAD及STL格式如图6-6(d)所示。
·功能:将两个单字长(16位)的符号整数相乘,产生一个32位双整数结果OUT。32位结果存储单元的低16位运算前用于存放被乘数。在LAD中,IN1×IN2=OUT;在STL中,IN1×OUT=OUT。
·数据类型:输入为INT,输出为DINT。
加法、减法、乘法指令影响的特殊存储器位:SM1.0(零)、SM1.1(溢出)、SM1.2(负)。
(4)除法指令
①一般除法指令(www.xing528.com)
·指令格式:LAD及STL格式如图6-7(a)、(b)、(c)所示。
·功能:在LAD中,IN1/IN2=OUT;在STL中,OUT/IN1=OUT。不保留余数。
·数据类型:整数相除时,输入、输出均为INT;双整数相除时,输入、输出均为DINT;实数相除时,输入、输出均为REAL。
图6-7 除法指令
②完全整数除法指令
·指令格式:LAD及STL格式如图6-7(d)所示。
·功能:将两个16位的符号整数相除,产生一个32位的结果,其中低16位为商,高16位为余数。32位结果中,低16位运算前被兼用存放被除数。在LAD中,IN1/IN2=OUT;在STL中,OUT/IN1=OUT。
·数据类型:输入为INT,输出为DINT。
除法指令影响的特殊存储器位:SM1.0(0)、SM1.1(溢出)、SM1.2(负)、SM1.3(除数为0)。
注意:对于算术运算,如OUT和输入不是共用同一地址单元,在STL中,先用传送指令将IN1传送到OUT,然后再执行运算指令。
【例6-1】 如图6-8所示为算术运算例1。
本例中,若VW10=2000,VW12=150,则执行完该段程序后,各存储单元的数值为:
VW16=2150,VW18=1850,VD20=300000,VW24=13,VW30=50,VW32=13。
图6-8 算术运算例1
【例6-2】 如图6-9所示为算术运算例2。
图6-9 算术运算例2
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。