执行这条循环右移指令的示意图如49所示.ppt

执行这条循环右移指令的示意图如49所示.ppt

  1. 1、本文档共94页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
执行这条循环右移指令的示意图如49所示

2.指令用法 ADD指令将两个源操作数[S1]、[S2]相加,结果放到目标元件中[D]中。指令说明如图6.35 图6.35 ADD指令举例之一 两个源数据进行二进制加法后传递到目标处,各数据的最高位是正(0)、负(1)的符号位,这些数据以代数形式进行加法运算,如5+(-8)=-3 ADD指令有4个标志位,M8020为0标志,M8021为借位标志位。M8022为进位标志位,M8023为浮点标志位 如果运算结果为0,则零标志位M8020置1,运算结果超过32,767(16位运算)或2147483647(32位运算)则进位标志位M8022位置1 如果运算结果小于-32767(16位运算)或-2147483467(32位运算)则借位标志位M8021置1 在32位运算中,用到字元件时,被指定的字元件是低16位元件,而下一个字元件中即为高16位元件,源和目标可以用相同的元件中,若源和目标之中相同,而且采用连续执行的ADD,(D)ADD指令时,加法的结果在每个扫描周期都会改变。如下图6.36所示 图6.36 ADD指令之二 6.4.2 减法指令SUB 1.指令格式 指令编号及助记符:减法指令FNC21 SUB [S1·] [S2·] [D·] 其中: [S1·] [S2·]分别为作为被减数和减数的源软件组件 [D·]为存放相减差的目标组件 源操作数可取所有数据类型 目标操作数可取KnY、KnM、KnS、T、C、D、V和Z 2.指令用法 SUB指令的功能是将指定的两个源软组件中的有符号数,进行二进制代数减法运算,然后将相减的结果差送入指定的目标软组件中 图6.37 SUB指令举例 减法指令标志区功能,32位运算元中指定方法与加法指令相同 6.4.3 乘法指令MUL 1.指令格式 指令编号及助记符:乘法指令FNC22 MUL [S1·] [S2·] [D·] 其中: [S1·] [S2·]分别为作为被乘数和乘数的源软件组件 [D·]为存放相乘积的目标组件的首地址 源操作数可取所有数据类型 目标操作数可取KnY、KnM、KnS、T、C、D、V和Z 2.指令用法 MUL指令的功能是将指定的[S1·]、 [S2·]两个源软组件中的数进行二进制代数乘法运算,然后将相乘结果积送入指定的目标软组件中。16位运算如图6.38,32位运算如图6.39 图6.38 MUL指令举例之一 图6.39 MUL指令举例之二 在32位运算中,若目标元件使用位软元件,只能得到低32位的结果,不能得到高32位的结果。这时应先向字元件传送一次后再进行计算,利用字元件作目标时,不可能同时监视64位数据内容,只能通过监控运算结果的高32位和低32位并利用下式计算4位数据内容。这种情况下,建议最好采用浮点运算 64位结果=(高32位数据)×232+低32位数据 6.4.4 除法指令 1.指令格式 指令编号及助记符:除法指令FNC23 DIV [S1·] [S2·] [D·] 其中: [S1·] [S2·]分别为作为被除数和除数的源软组件 [D·]为商和余数的目标组件的首地址 源操作数可取所有数据类型 目标操作数可取KnY、KnM、KnS、T、C、D、V和Z 2.指令用法 DIV指令的功能是将指定的两个源软组件中的数,进行二进制有符数除法运算,然后将相除的商和余数送入指定的目标软组件中。除法指令16位运算如图6.40,32位运算如图6.41 图6.40 DIV指令举例之一 图6.41 DIV指令举例之二 2.中断指针 (1)外中断用I指针 外中断用I指针的格式如图6.19(a)所示, 有I0~I5 共6点 外中断是外部信号引起的中断,对应的外部信号的输入口为X000~X005 (2)内中断用I指针 内中断用I指针格式如图6.19(b)所示,有I6~I8 3点 内中断是指机内定时时间到,中断主程序去执行中断子程序。定时时间由指定编号为6~8的专用定时器控制 设定时间值在10~99ms间选取,每隔设定时间就会中断一次 图6.19 中断指针格式 (a)外中断指针格式(b)内中断指针格式 6.2.4主程序结束指令 1.指令格式 指令编号及助记符:主程序结束指令FNC06 FEND 2.指令用法 FEND指令是一步指令,无操作目标元件 子程序应写在FEND指令和END指令之间,包括CALL,CALL(P)指令对应的标号、子程序和中断子程序 FEND指令的用法(见图6.20)应注意以下几点 : (1) CALL,CALL(P)指令的标号P用于在FEND指令后编程,必须要有IRET指令。中断指针I也在FEND指令后编程,必须要有SRET指令 (2) 使用多个FEND指令的情况下,应在最后的FE

文档评论(0)

sunshaoying + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档