比较指令有比较.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
比较指令有比较

比较指令有比较(CMP)、区域比较(ZCP)两种,CMP的指令代码为FNC10,ZCP的指令代码为FNC11,两者待比较的源操作数[S·]均为K、?H、KnX、KnY、KnM、KnS、T、C、D、V、Z,其目标操作数[D·]均为Y、M、S。 CMP指令的功能是将源操作数[S1·]和[S2·]的数据进行比较,结果送到目标操作元件[D·]中。在图13-3中,当X0为ON时,将十进制数100与计数器C2的当前值比较,比较结果送到M0~M2中,若100>C2的当前值时,M0为ON,若100=C2的当前值时,M1为ON, 若100<C2的当前值时,M2为ON。当X0为OFF时,不进行比较,M0~M2的状态保持不变。 ?ZCP指令的功能是将一个源操作数[S·]的数值与另两个源操作数[S1·]和[S2·]的数据进行比较,结果送到目标操作元件[D·]中,源数据[S1·]不能大于[S2·]。在图13-4中,当X1为ON时,执行ZCP指令,将T2的当前值与10和150比较,比较结果送到M0~M2中,若10>T2的当前值时,M0为ON,若10≤T2的当前值≤150时,M1为ON,若150<T2的当前值时,M2为ON。当X1为OFF时,ZCP指令不执行,M0~M2的状态保持不变。 比较指令CMP ZCP 比较指令包括CMP(比较)和ZCP(区间比较)二条。 (1)比较指令CMP? (D)CMP(P)指令的编号为FNC10,是将源操作数[S1.]和源操作数[S2.]的数据进行比较,比较结果用目标元件[D.]的状态来表示。如图3-33所示,当X1为接通时,把常数100与C20的当前值进行比较,比较的结果送入M0~M2中。X1为OFF时不执行,M0~M2的状态也保持不变。 图1??比较指令的使用 ? (2)区间比较指令ZCP? (D)ZCP(P)指令的编号为FNC11,指令执行时源操作数[S.]与[S1.]和[S2.]的内容进行比较,并比较结果送到目标操作数[D.]中。如图3-34所示,当X0为ON时,把C30当前值与K100和K120相比较,将结果送M3、M4、M5中。X0为OFF,则ZCP不执行,M3、M4、M5不变。 图2??区间比较指令的使用 使用比较指令CMP/ZCP时应注意: 1)[S1.]、[S2.]可取任意数据格式,目标操作数[D.]可取Y、M和S。 2)使用ZCP时,[S2.]的数值不能小于[S1.] 3)?所有的源数据都被看成二进制值处理; 传送类指令MOV SMOV CMOV BMOV FMOV (1)传送指令MOV? (D)MOV(P)指令的编号为FNC12,该指令的功能是将源数据传送到指定的目标。如图1所示,当X0为ON时,则将[S.]中的数据K100传送到目标操作元件[D.]即D10中。在指令执行时,常数K100会自动转换成二进制数。当X0为OFF时,则指令不执行,数据保持不变。 图1??传送指令的使用 使用应用MOV指令时应注意: 1)源操作数可取所有数据类型,标操作数可以是KnY、KnM、KnS、T、C、D、V、Z。 2)16位运算时占5个程序步,32位运算时则占9个程序步。 (2)移位传送指令SMOV? SMOV(P)指令的编号为FNC13。该指令的功能是将源数据(二进制)自动转换成4位BCD码,再进行移位传送,传送后的目标操作数元件的BCD码自动转换成二进制数。如图2所示,当X1为ON时,将D1中右起第4位(m1=4)开始的2位(m2=2) BCD码移到目标操作数D2的右起第3位(n=3)和第2位。然后D2中的BCD码会自动转换为二进制数,而D2中的第1位和第4位BCD码不变。 ? ? 图2?移位传送指令的使用 使用移位传送指令时应该注意: 1)源操作数可取所有数据类型,目标操作数可为KnY、KnM、KnS、T、C、D、V、Z。 2)SMOV指令只有16位运算,占11个程序步。 (3)取反传送指令CML? (D)CML(P)指令的编号为FNC14。它是将源操作数元件的数据逐位取反并传送到指定目标。如图3所示,当X0为ON时,执行CML,将D0的低4位取反向后传送到Y3~Y0中。 ? 图3??取反传送指令的使用 使用取反传送指令CML时应注意: 1)源操作数可取所有数据类型,目标操作数可为KnY、KnM、KnS、T、C、D、V、Z.,若源数据为常数K,则该数据会自动转换为二进制数。 2)16位运算占5个程序步,32位运算占9个程序步。 (4)块传送指令BMOV? BMOV(P)指令的ALCE编号为FNC15,是将源操作数指定元件开始的n个数据组成数据块传送到指定的目标。如图4所示,传送顺序既可从高元件号开始,也可从低元件号开始,传送顺序自动决定。若用到需要指定位数的位元件,则源操作数和目标操作数

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档