加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

TIAv17环境下再次学习练习STL-81RLD循环左移双字(32位)

(2024-02-15 20:17:53)
标签:

西门子

ia

stl编程

rld指令

分类: 西门子软硬件
继续学习TIA环境下STL编程,本篇学习RLD 循环左移双字(32 位)。
RLD(循环左移双字)逐位向左循环移动 ACCU 1 的整个内容。循环移位指令空出的位由 ACCU 1 中移出位的信号状态填充。最后移出的位被装载到状态位 CC 1 中。而地址<数目>或 ACCU 2-L-L 中的数值则指定要循环移位的位数目。
RLD <数目>:地址<数目>指定循环移位的数目。允许的数值范围为 0 - 32。当<数目>大于 0 时,将状态字的位 CC 0 和 OV 复位为 0。当<数目>等于 0 时,则将此循环移位指令视为 NOP 操作。
RLD:循环移位的数目由 ACCU 2-L-L 中的数值指定。可能的数值范围为 0 - 255。当 ACCU 2-L-L 内的数值大于 0 时,将状态字的位 CC 0 和 OV 复位为 0。如果循环移位的数目为零,则将此循环移位指令视为 NOP 操作。
TIAv17环境下再次学习练习STL-81RLD循环左移双字(32位)
在前面联系的基础上新建STL程序段。
TIAv17环境下再次学习练习STL-81RLD循环左移双字(32位)
十进制11转换成32位是0000,0000,0000,0000,0000,0000,0000,1011,循环左移第一次结果是0000,0000,0000,0000,0000,0000,0001,0110,循环左移第2次结果是0000,0000,0000,0000,0000,0000,0010,1100,循环左移第3次结果是0000,0000,0000,0000,0000,0000,0101,1000,也就是十进制88,最后一个移出的位是0,所以CC1=0
十进制-11转换成32位是0000,0000,0000,0000,1000,0000,0000,1011,反码是0000,0000,0000,0000,1111,1111,1111,0100,补码是0000,0000,0000,0000,1111,1111,1111,0101,循环左移第一次结果是0000,0000,0000,0001,1111,1111,1110,1010,循环左移第2次结果是0000,0000,0000,0011,1111,1111,1101,0100,循环左移第3次结果是0000,0000,0111,1111,1111,1010,1000,还原成十进制是524200,最后一个移出的位是0,所以CC1=0

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有