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

计算机位移指令的作用,循环移位指令有什么作用?循环移位指令将字节、字或双字中的各位向右或向左循环移动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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 二分法 matlab应用,MATLAB算法の二分法[通俗易懂]

    从今起准备连续多期介绍一些常用的算法,通过不断实践“算法到程序”这一过程来学习matlab编程,久而久之就可做到熟能生巧。今天要介绍的是二分法,它是一种古老且经典的、蕴含深刻哲理的算法。我们知道现实物理世界是有限的,而抛开物理意义却又是无限可分的,而二分法就是基于这种无限可分思想,可以说它是连接有限与无限的纽带。今天主要介绍二分法在数学寻根中的应用,毕竟为的是将算法程序化。要求单调函数f(x)在区…

  • 阿里java架构成长笔记_职场知识点分享

    阿里java架构成长笔记_职场知识点分享1.源码分析专题详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。知其然,并知其所以然。把知识变成自己的2.分布式架构互联网时代,系统架构如何迎接高并发流量的挑战。而作为技术开发者,如何去应对技术变革带来的技能危机。基于传统架构到分布式架构演变过程所带来的技术变革进行全面深入讲解…

  • 多因子权重优化方法比较研究_权重因子是什么意思

    多因子权重优化方法比较研究_权重因子是什么意思https://www.ricequant.com/community/topic/4559在多因子量化投资体系中,具有稳定的预期收益,可解释的经济驱动理论,与其他因子的低相关性是选择alpha因子的关键指标。本篇文章中,我们以此为因子选取标准,简单地构建了自己的因子库,总共包括八个大类因子,每个大类因子中包含四到五个子类细分因子。为了比较不同的权重优化方法的优劣,本文首先采取不同的方法对各个大类…

  • datax(3): win环境cmd乱码「建议收藏」

    datax(3): win环境cmd乱码「建议收藏」通过前面两篇文章,大家应该已经可以安装成功datax,但是在win的cmd下竟然中文乱码。解决它!!!一,环境win10datax3.xcmdpy3.x二,现象运行python\xxx\datax.py\xxx\job.json后控制台乱码三,解决1,临时解决命令:chcp(更改该控制台的活动控制台代码页)过程:cmd下输入chcp65001改变当前代码页变为utf-8编码常用的编码及对应的码值(10进制):十进制码值 对应编码名称950 .

  • navicat生成激活码时出错【最新永久激活】2022.02.21[通俗易懂]

    (navicat生成激活码时出错)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlHCIQ56F36O-eyJsaWNlbnNlSWQi…

  • mac 如何安装 wget

    mac 如何安装 wget1.安装Homebrew在安装wget之前需要安装一个适用于mac的包管理器Homebrew,打开mac终端执行如下命令进行安装:/usr/bin/ruby-e”$(curl-fsSLhttps://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)”安装成功后的界面如下所示:2.安装wgetHomebrew安装成功后就可以执行如下命令安装wget了:brewinstallwget安装成功的界面如下:

    2022年10月17日

发表回复

您的电子邮箱地址不会被公开。

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