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

计算机位移指令的作用,循环移位指令有什么作用?循环移位指令将字节、字或双字中的各位向右或向左循环移动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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jQuery中AJAX写法「建议收藏」

    jQuery中AJAX写法「建议收藏」前言  在jQuery中AJAX的写法有3种,$ajax,$post,$get这三种。其中$post和$get是简易写法,高层的实现,在调用他们的时候,会运行底层封装好的$ajax。运用get方式一$.get("test.cgi",{name:"John",time:"2pm"},function(data){alert("DataLoaded:"+data…

    2022年9月30日
    1
  • 高等代数第二章行列式思维导图(行列式的知识点总结思维导图)

    HelloWorld,我的朋友,这里是一颗小白蛋,大千世界,很高兴以这样的方式与你相遇前言好久不见,这一次给大家带来考研线代中行列式的相关内容。2021考研数学复习全书+2021李永乐线性代数辅导讲义+2020张宇线代基础课+20211800题=知识技巧思维导图相关重点知识内容+易错点知识+技巧总汇+知识拓展=知识技巧思维导图一战上岸思维导图以题型为出发点,总结了几…

    2022年4月17日
    372
  • webpack开发环境和生产环境_第二环境问题可以分为

    webpack开发环境和生产环境_第二环境问题可以分为前言如果我们需要使用webpack,就需要依赖node环境nvmnodenpmwebpack@cliwebpacknvm安装nvm是一个用来管理node版本的工具。我们之所以需要使用n

    2022年7月31日
    4
  • fcntl 函数「建议收藏」

    fcntl 函数「建议收藏」fcntl函数浅解Linux系统中使用man查看fcntl函数的原型为fcntl(intfd,intcmd,……/arg/);自己在使用时用到了fcntl(intfd,intcmd,longarg);F_SETFL:设置文件状态标志。将文件的状态标志设置为第三个参数arg的值(取整数值),其中O_RDONLY,O_WRONLY,O_RDWR,O_CREAT

    2025年7月17日
    0
  • 移动机械硬盘测试软件,硬盘检测工具HDTune使用教程

    移动机械硬盘测试软件,硬盘检测工具HDTune使用教程硬盘是我们计算机的重要部件之一,硬盘故障直接导致我们无法正常使用,读取数据等,而硬盘检测工具也有不少。HDTune是一款专业的硬盘检测工具,能够全面的检测硬盘的传输速度、温度以及健康状况等。很多用户可能并不知道HDTune怎么用,对此,小编特意去整理了一篇使用教程,分享出来给大家介绍HDTune怎么用。硬盘检测工具HDTune怎么用?1、HDTune使用方法很简单,打开HDTune硬盘检测工具后我…

    2022年7月13日
    33
  • 【已解决】【V1.0版本】如何彻底关闭Win10的自动更新并且随时可以恢复?

    【已解决】【V1.0版本】如何彻底关闭Win10的自动更新并且随时可以恢复?更新失败的问题我已经参考这篇文章解决了:【亲测管用】Windows10无法完成更新,正在撤销更改怎么办?精简脚本,在不删除服务的情况下阻止自动更新:【亲测管用】如何使用脚本关闭Win10自动更新服务并阻止其自动启动?如何关闭Windows10的自动更新真的是个大难题.当你遇到Windows更新包安装失败,却又被强制每天重新安装并且失败(安装失败有的时候得重启好几次),望着一遍又一…

    2022年6月4日
    32

发表回复

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

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