7.4 算术运算和逻辑运算类指令_第1页
7.4 算术运算和逻辑运算类指令_第2页
7.4 算术运算和逻辑运算类指令_第3页
7.4 算术运算和逻辑运算类指令_第4页
7.4 算术运算和逻辑运算类指令_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7.4算术运算和逻辑运算类指令目录减法指令SUB7.4.2除法指令DIV7.4.4乘法指令MUL7.4.3加1指令INC7.4.5

7.4.1加法指令ADD目录逻辑或指令WOR

7.4.7减1指令DEC7.4.6

逻辑或指令WOR

7.4.8逻辑异或指令

7.4.9求补指令NEG

7.4.107.4.1加法指令ADD加法指令是将指定的源元件中的二进制数相加结果送到指定的目标元件中去,如表7-17所示。表7-17

加法指令指令名称助记符功能操作数程序步S1S2D加法指令AdditionADD(P)DADD(P)FNC20将两个源元件中的数据相加,结果保存在目标元件中K,H,KnX,KnY,KnM,KnS,T,C,D,V,ZKnY,KnM,KnS,T,C,D,V,ZADD,ADDP:7步DADD,DADDP:13步如图7-23所示,当X0为ON时,执行(D10)+(D12)→(D14)。7.4.2减法指令SUB减法指令SUB是将[S1.]指定元件中的内容以二进制形式减去[S2.]指定元件的内容,其结果存入由[D.]指定的元件中,如表7-18所示。表7-18

减法指令中英文指令名称助记符功能操作数程序步S1S2D减法指令SubtractSUB(P)DSUB(P)FNC21将源元件S1中的数据减去源元件S2中的数据,结果保存在目标元件D中K,H,KnX,KnY,KnM,KnS,T,C,D,V,ZKnY,KnM,KnS,T,C,D,V,ZSUB,SUBP:7步DSUB\DSUBP:13步如图7-24所示,当X0为ON时,执行(D10)—(D12)→(D14)。7.4.2减法指令SUB图7-23加法指令的使用图7-24减法指令的使用加法指令的数据为有符号二进制数,最高位为符号位(0为正,1为负)。加法指令有三个标志:零标志(M8020)、借位标志(M8021)和进位标志(M8022)。当运算结果超过32767(16位运算)或2147483647(32位运算)则进位标志置1;当运算结果小于-32767(16位运算)或-2147483647(32位运算),借位标志就会置1。7.4.3乘法指令MUL表7-19

乘法指令中英文指令名称助记符功能操作数程序步S2S2D乘法指令MultiplicationMUL(P)DMUL(P)FNC22将两个源元件中的数据相乘,结果保存在目标元件中K,H,KnX,KnY,KnM,KnS,T,C,D,V,ZKnY,KnM,KnS,T,C,D,Z(V)MUL,MULP:7步DMUL、DMULP:13步32位乘法运算中,如用位元件作目标,则只能得到乘积的低32位,高32位将丢失,这种情况下应先将数据移入字元件再运算。如图7-25所示,当X0为ON时,将二进制16位数[S1.]、[S2.]相乘,结果送[D.]中。D为32位,即(D0)×(D2)→(D5,D4)(16位乘法);当X1为ON时,(D1,D0)×(D3,D2)→(D7,D6,D5,D4)(32位乘法)。数据均为有符号数。7.4.4除法指令DIV(FNC23)

除法指令DIV是将[S1.]指定为被除数,[S2.]指定为除数,将除得的结果送到[D.]指定的目标元件中,余数送到[D.]的下一个元件中,如表7-20所示。7.4.4除法指令DIV(FNC23)如图7-26所示,当X0为ON时(D0)÷(D2)→(D4)商,(D5)余数(16位除法);当X1为ON时(D1,D0)÷(D3,D2)→(D5,D4)商,(D7,D6)余数(32位除法)。除法指令中操作数取Z时只有16位乘法时能用,32位不可用。除法运算中将位元件指定为[D.],则无法得到余数,除数为0时发生运算错误。积、商和余数的最高位为符号位。7.4.5加1指令INC(FNC24)加1指令INC是当条件满足时将目标操作数D指定的元件内容加1,如表7-21所示。

当X0为ON时,(D10)+1→(D10),若指令是连续指令,则每个扫描周期均作一次加1运算。在INC指令运算时,如数据为16位,则由+32767再加1变为-32768,但标志不置位;同样,32位运算由+2147483647再加1就变为-2147483648时,标志也不置位。7.4.6减1指令DEC(FNC25)减1指令DEC是当条件满足时将目标操作数D指定的元件内容减1,减1指令的使用如图7-27所示。当X1为ON时,(D11)-1→(D11)。若指令是连续指令,则每个扫描周期均作一次减1运算。在DEC指令运算时,16位运算-32768减1变为+32767,且标志不置位;32位运算由-2147483648减1变为=2147483647,标志也不置位。7.4.7逻辑与指令WAND(FNC26)逻辑与指令WAND是将两个源元件S1和S2中数据按各位对应的位置进行逻辑与运算,结果保存在目标元件D中,如表7-23所示。7.4.8逻辑或指令WOR(FNC27)逻辑或指令WOR是将两个源元件S1和S2中数据按各位对应的位置进行逻辑或运算,结果保存在目标元件D中,如表7-24所示。7.4.9逻辑异或指令WXOR(FNC28)逻辑异或指令WXOR是将两个源元件S1和S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论