计算机位移指令的作用,循环移位指令有什么作用?

计算机位移指令的作用,循环移位指令有什么作用?循环移位指令将字节、字或双字中的各位向右或向左循环移动N位后,再送给指令的输出单元。循环移位是环形的,即被移出来的位将返回到另一端空出来的位(见图4-18)。带进位的右、左循环移位指令各位的数据与进位位一起(16位指令时一共17位)向右(或向左)循环移动n位。循环移位指令(1)16位节日彩灯的循环移位控制设计循环移位的16位彩灯控制程序,移位的时间间隔为1s,首次扫描时用M8002来设置彩灯的初…

大家好,又见面了,我是你们的朋友全栈君。

循环移位指令将字节、字或双字中的各位向右或向左循环移动N位后,再送给指令的输出单元。循环移位是环形的,即被移出来的位将返回到另一端空出来的位(见图4-18)。

带进位的右、左循环移位指令各位的数据与进位位一起(16位指令时一共17位)向右(或向左)循环移动n位。

20180604110916.jpg

循环移位指令

(1) 16位节日彩灯的循环移位控制设计循环移位的16位彩灯控制程序,移位的时间间隔为1s,首次扫描时用M8002来设置彩灯的初值,X20为OFF时循环右移1位,为ON时循环左移1位。TO用来产生周期为1s的移位脉冲序列,下面是实现上述要求的程序:

20180604111002.jpg

(2) 10位彩灯循环左移

要求用S7-200的oo.o – oi.1来控制10位彩灯的循环左移,即从Q1.1移出的位要移人oo.o。值得注意的是在owo中,QBO在高字节,QB1在低字节(见图4-20)。10位循环移位的关键是将Q1.1移到Q1.2的数传送到QO.O中。CPU 224的Q1.2虽然不对外输出,但是它的输出过程映像寄存器可以供用户程序使用。如果在设置彩灯初值时令oo.o为1,它会被Q1.2置为0,造成实际点亮的灯比设置的灯少一个的现象。

20180604111101.jpg

20180604111147.jpg

(3)循环投切

假设用S7-200的QO.O – Q0.7来控制自动无功补偿装置投切电容器的8个交流接触器。为了使各交流接触器均衡使用,一般采用循环投切的工作方式,即先投入的电容器被先切除。用8位循环移位指令可以实现这一功能。假设按QO.O至Q0.7的顺序投切电容器,当前投入了3组电容器,Q0.2- Q0.4为1,Q0.2先投入。需要投切电容时,首先将QBO循环左移1位,变为Q0.3- QO.5为1。如果需要切除电容器,将移位前后两个字节的值相“与”,由表4-3可知,“与”运算后仅Q0.3和Q0.4为l,Q0.2被切除。如果需要投入电容器,将移位前后两个字节的值相“或”,由表4-3可知,“或”运算后Q0.2-oo.s为1,所以将投入Q0.5。20180604111231.jpg

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140672.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mac系统安装pycharm_mac下载python3

    mac系统安装pycharm_mac下载python3简介pycharm是一款针对python开发的优秀的IDE,以下是针对其在mac上的开发配置使用安装下载链接双击安装并打开应用修改主题pycharm默认的主题并不好看,不过也提供了一些其他的选择,这里我们选择Dacula的主体,设置的路径是Preference->Appearence&Behavior->Appearence效果如下python环境配置py开发当然是…

    2022年8月28日
    6
  • 计算机vb语言程序设计_vb语言程序设计基础

    计算机vb语言程序设计_vb语言程序设计基础VisualBasic程序设计教程:计算机类语音编辑锁定讨论上传视频《VisualBasic程序设计教程:计算机类》是中国科学技术出版社出版的图书,作者是王东、刘福来。中文名VisualBasic程序设计教程:计算机类出版社中国科学技术出版社定价39.20作者王东刘福来ISBN9787504646798VisualBasic程序设计教程:计算机类内容简介编辑语音《全国高等…

    2022年10月7日
    3
  • sphinx全文检索 安装配置和使用

    sphinx全文检索 安装配置和使用

    2021年10月19日
    52
  • 超级详细的Maven使用教程

    超级详细的Maven使用教程什么是Maven?如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。以往开发项目时,程序员往往需要花较多的精力在引用Jar包搭建项目环境上,而这一项工作尤为艰难,少一个Jar包…

    2022年6月12日
    38
  • mysql性能优化-慢查询分析、优化索引和配置

    mysql性能优化-慢查询分析、优化索引和配置

    2021年9月20日
    38
  • RPC是什么? (学习笔记)

    RPC是什么? (学习笔记)什么是RPC?RPC全称RemoteProcedureCall,即远程过程调用,就是要像调用本地的函数一样去调远程函数,屏蔽远程调用的复杂性。为什么需要RPC?微服务、分布式应用的开发越来越

    2022年8月3日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号