单片机循环左移指令移位指令怎么写呀?

可以将这几个指令分为移位指令和循环移位指令,其中位移指令为:SHL、SAL、SHR、SAR,循环位移指令为:ROL、RCL、RCR、RCL,他们的具体用法如下:一、位移指令具体含义:SHL: 逻辑左移;SAL: 算术左移;SHR: 逻辑右移;SAR: 算术右移具体用法:SHR:每位右移, 低位进 CF, 高位补 0;SAR:每位右移, 低位进 CF, 高位不变,它们的结果影响 OF、SF、ZF、PF、二、循环移位指令具体含义:ROL:循环左移;ROR:循环右移;RCL: 带进位循环左移;RCR: 带进位循环右移。具体用法:ROL: 循环左移, 高位到低位并送 CF;ROR: 循环右移, 低位到高位并送 CF;RCL: 循环左移, 进位值到低位, 高位进 CF;RCR: 循环右移, 进位值到高位, 低位进 CF。扩展资料:双精度移位指令:386及其后继机型可使用本组指令,SHLD双精度左移和SHRD双精度右移,格式:SHLD,DST,REG,CNT。这组指令可以取两个字作移位操作而得到一个字的结果,也可以取两个双字作移位操作而得到一个双字的结果。在移位中,作为源操作数的寄存器提供移位值,以补目的操作数因移位引起的空缺,而指令执行完成后,只取目的操作数作为移位的结果,源操作数寄存器则保持指令执行前的值不变。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。展开阅读全部'); (window.slotbydup=window.slotbydup
[]).push({ id: '5572142', container: s, size: '580,90', display: 'inlay-fix' }); })();
循环右移
循环右移
功能说明将输入 IN 中操作数的内容按位向右循环移位,并在输出 OUT 中查询结果。参数 N 用于指定循环移位中待移动的位数。用移出的位填充因循环移位而空出的位。如果参数 N 的值为“0”,则将输入 IN 的值复制到输出 OUT 的操作数中。如果参数 N 的值大于可用位数,则输入 IN 中的操作数值仍会循环移动指定位数。特别说明,循环右移和右移区别在于循环移动时不会将原来的数据丢失,循环移动到左边。而右移会将超出的数据丢失。比如原数据为10进制的1,转换为二进制后为0000 0001,使用右移指令右移2位后,0001右移后,将丢失,而使用循环右移后,为0100 0000.接口参数循环左移
循环左移
功能描述将输入 IN 中操作数的内容按位向左循环移位,并在输出 OUT 中查询结果。参数 N 用于指定循环移位中待移动的位数。用移出的位填充因循环移位而空出的位。如果参数 N 的值为“0”,则将输入 IN 的值复制到输出 OUT 的操作数中。如果参数 N 的值大于可用位数,则输入 IN 中的操作数值仍会循环移动指定位数循环左移和左移的区别,请参看循环右移和右移。接口参数程序举例1.创建DB块,添加数据结构2.创建FB块,添加功能指令,并在OB1中调用仿真演示

工控之家
2021-08-05 22:06
0
西门子S7-1200的移位指令包括左移位指令和右移位指令,循环移位指令包括循环左移位指令和循环右移位指令。
打开网易新闻 查看精彩图片
移位指令。移位指令用于将参数IN的位序列移位,结果送给参数OUT,参数N指定移位的位数。单击移位名称下方可以选择数据类型,移位指令IN和OUT端支持的数据类型为字节BYTE、字WORD、双字DWORD。移位时用0填充移位操作清空的位。
打开网易新闻 查看精彩图片
循环移位指令。循环指令用于将参数IN的位序列循环移位,结果送给参数OUT,参数N定义循环移位的位数。单击移位名称下方可以选择数据类型,移位指令IN和OUT端支持的数据类型为字节BYTE、字WORD、双字DWORD。移位时从目标值一侧循环移出的位数据,将循环移位到目标值的另一侧,因此原始位值不会丢失。
打开网易新闻 查看精彩图片
下面我们通过一个简单的实例来介绍移位指令如何使用。按下I1.2,将MB100中存储的数据左移2位送到MB200中,按下I1.3将MW100中存储的数据右移2位送到MW300中。一、编写程序。在项目视图中打开OB1,在指令树中拖拽左移位指令到程序段1中,选择数据类型为字节,在移位指令的使能端插入常开触点I1.2,输入IN参数MB100,输入N参数2,输入OUT参数为MB200。在指令树中拖拽右移位指令到程序段2,选择数据类型为字,在移位指令的使能端插入常开触点I1.3,输入IN参数MW100,输入N参数2,输出参数OUT为MW300。这样一个简单的移位指令的实例就完成了,单击保存项目按钮保存项目。
打开网易新闻 查看精彩图片
二、编译、下载程序到PLC。在项目树中选中程序块,单击下载按钮将所有块下载到PLC。三、查看程序运行情况。单击“转到在线”按钮,在项目树中单击打开监视表格文件夹,双击添加新监视表格,可以看到项目树中添加了监视表格,同时在工作区打开了监视表格编辑器,输入地址MB100和MB200、MW100和MW300,显示格式为二进制,单击监视按钮观察程序的运行情况,在监视表格中修改MB100为01011,按下I1.2可以看到MB200的值变为MB100的值左移2位的结果,按下I1.3可以看到MW300的值变为MW100的值右移2位的结果。
打开网易新闻 查看精彩图片
特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。

我要回帖

更多关于 单片机循环左移指令 的文章

 

随机推荐