首页 理论教育 算术运算指令解析

算术运算指令解析

时间:2023-06-17 理论教育 版权反馈
【摘要】:图6-4 加法指令减法指令①指令格式:LAD及STI。图6-6 乘法指令②完全整数VW1 0乘法指令·指令格式:LAD及STL格式如图6-6所示。32位结果存储单元的低16位运算前用于存放被乘数。·功能:将两个16位的符号整数相除,产生一个32位的结果,其中低16位为商,高16位为余数。注意:对于算术运算,如OUT和输入不是共用同一地址单元,在STL中,先用传送指令将IN1传送到OUT,然后再执行运算指令。图6-9 算术运算例2

算术运算指令解析

(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

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈