32乘法运算_算术运算指令

fa4e8233e6c9ed62ec7e0e6c9a74d66b.png

3.4.1 ADD-----------------------------------------------BIN加法

3.4.2 SUB-----------------------------------------------BIN减法

3.4.3 MUL----------------------------------------------BIN乘法

3.4.4 DIV------------------------------------------------BIN除法

3.4.5 INC------------------------------------------------BIN递增

3.4.6 DEC-----------------------------------------------BIN递减

3.4.7 WAND--------------------------------------------逻辑与

3.4.8 WOR----------------------------------------------逻辑或

3.4.9 WXOR--------------------------------------------逻辑异或

3.4.10 NEG---------------------------------------------求补

3.4.1 (D)ADD(P)加法运算

加法指令即两个源数据进行二进制加法,其结果传到目标处。

例1:

01e8dcbc310c00668a1b16b96cc51bb0.png

当条件X000接通时,执行ADD加法指令,执行时,D10的数据+D11的数据,其运算结果存到D14里面。

如上程序,目标地址与两个加数都不同时,程序执行循环扫面后,其结果D14的数据始终相同。

如下程序,其目标数据与其中的一个加数相同。

例2:

d58596620fc14adf10b8879270cacc6c.png

当条件X001接通,执行加法指令,D0+1=0+1=1,此时,D0=1,第二次扫描执行后,D0+1=1+1=2,此时D0=2,第三次扫描执行后,D0+1=2+1=3,如此循环执行。

说明:当源数据与目标数据指定同一个地址时,如例2所示,则在每个扫描最后,运算结果都会有变化。例2程序,程序没执行之前D1=0,当执行完一次扫描后,D1=1,执行第二次后,D2=2,以后一直会以3,4,5……变化。

3.4.2 (D)SUB(P)减法运算

S1制定的软元件内容,一代数形式减去S2制定的软元件内容,结果存入D制定的软元件中。

程序1:源数据与目标数据不同的情况

f837351daf380441984dd6c7e8310283.png

当条件X000接通,执行减法运算,D10的数据减去D12的数据,结果送到D14里

程序2:源数据与目标数据相同的情况

76973d5cfda9e3bd13e4ae423a3f1560.png

当源数据与目标数据相同时,在每一个扫描周期,其运算结果也都会不同。

具体分析方法见上面加法运算。

3.4.3 (D)MUL(P)乘法运算

fffd830da289be4111320dbda9500318.png

各源指定软元件内容的乘积,以32位数据形式存入目标地址制定的软元件(低位)和紧接其后的软元件(高位)中。

如上程序,当条件X000接通,执行乘法运算,D0的数据*D2的数据,结果存到D4D5组成的32位寄存器中。

若目标软元件为位软元件时,可以进行K1-K8的指定,指定为4时,只能求得乘积运算的低16位。

6677152eefac2b9981c19db2aa190bbd.png

如上程序,当条件X001接通,执行D1*D6的运算,其结果存到M0—M31组成的32位软元件中。

在32位运算中,目标地址使用位软元件时,只能得到低32位的结果,不能得到高32位的结果。

即使使用字软元件时,也不能一下子监视64位的运算结果。

d7b5c105f271e3bec3fe1c1b96ea860d.png

如上程序为32位乘法运算,其执行过程如右边所示,D0D1组成的32数据*D2D3组成的32位数据,结果存到D4D5D6D7组成的64位数据里

3.4.4 (D)DIV(P)除法运算

S1指定软元件的内容是被除数,指定的软元件的内容是除数,D指定软元件和其下一个编号的软元件将存入商和余数。

16位除法运算举例:

6dad751e2ceafe462db8fae7aabef857.png

如上程序,当条件X000接通,执行除法运算,D0的数据÷D2的数据,其整除的数值存到D4寄存器里,其余数存到D4后面一位D5寄存器里面。

32位除法运算举例:

21db9d9d28e68706ef1bf90372ede60c.png

如上程序,当X001条件接通,则D0D1组成的32位数据÷D2D3组成的32位数据,其整除的数值存到D4D5组成的32位寄存器里,其余数存到D6D7组成的32位寄存器里。

32位运算时,被除数内容由S1指定软元件和其下一个编号的软元件组合而成,除数是由S2指定软元件和其下一个编号的软元件组合而成,其商和余数如上面程序所示,存入与D指定软元件相接续的4点软元件。

3.4.5 (D)INC(P)----BIN增加

说明:BIN指令使被执行对象进行加一运算

程序1:

223678e12db0dd4bd60fe7e9d5eb30b7.png

X0每接通一次,D10指定软元件的内容就加1,在连续执行型指令中,每个扫描周期都将执行加1运算,务必注意。

INC指令在某些场合可以取代计数器,当使用计数器时,一般都要指定计数次数,而限制了一定的技术范围,使用INC不需指定计数次数,只要在数值允许范围内,条件接通,自动加一。

3.4.6 DEC----BIN减少

36faa89a9deb9bfe3fca1f41de399cb6.png

X1每接通一次,D指定软元件的内容就减1,在连续执行型指令中,每个扫描周期都将执行减1运算,务必注意。

应用例子:由10台机器生产零件,共用一个显示器显示当天生产的数量。

每台机器对应的计数器是C0—C9.一开始显示器显示第一台生产数量,

按一下按钮X0,显示第二台数量,再按一下显示第三台数量,以此类推,当显示最后一台机器时,再按下按钮,从新回到第一台显示。

14a2684a363dfe0a534e16722d81a8e0.png

3.4.7 WAND--逻辑与

程序举例:

444591e0abd1e2f5bd0d7c2b1100ec01.png

如上程序,当X0接通,则执行WAND指令,将D10的每位和D12的每位进行与操作,把结果传到D14寄存器内

具体运算过程如下:

若 D10=0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0—0=0 0—1=0(与操作)

D12=0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1—0=0 1—1=1

则 D14=0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0

3.4.8 WOR--逻辑或

程序举例:

dfa6806e3094c7847b7d04c6de7cfc4b.png

如上程序,当X0接通,则执行WOR指令,将D10的每位和D12的每位进行或操作,结果传送到D14寄存器内

具体运算过程如下:

若 D10=0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0—0=0 0—1=1(或操作)

D12=0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1—0=1 1—1=1

则 D14=0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1

3.4.9WXOR--逻辑异或

程序举例:

d240cca26cf56d37b516cde3ab27a5e9.png

如上程序,当X0接通,则执行WXOR指令,将D10的每位和D12的每位进行异或操作,结果传送到D14寄存器里

具体运算过程如下:

若 D1=0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0—0=0 0—1=1(异或操作)

D2=0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1—0=1 1—1=0

则 D3=0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1

3.4.10 NEG—求补

程序举例:

af86e2397311df8654d98957b41f8c5c.png

如上程序,当X000接通,则执行NEG指令,指令把D10的各位都取反后再+1,把结果传送到D10寄存器里面

将D10指定软元件的内容中各位先取反(0→1,1→0),然后再加1,将其结果再存入原先的软元件中。

使用连续执行型指令,则在每个扫描周期执行该运算指令,务必注意。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值