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

TIAv17环境下再次学习练习STL-76SLW左移字(16位)

(2024-02-15 09:28:43)
标签:

西门子

tia

stl编程

slw指令

分类: 西门子软硬件
继续学习TIA环境下STL编程,本篇学习SLW 左移字(16 位)。
SLW(左移字)只逐位向左移动 ACCU 1-L 的内容。由零填充移位指令空出的位。将最后一个移出的位装载到状态字的 CC 1 位中。地址<数目>或 ACCU 2-L-L 中的数值指定要移位的位数目。
SLW <数目>:地址<数目>指定移位数目。允许的数值范围为 0 - 15。当<数目>大于 0 时,将状态字的位 CC 和 OV 复位为 0。当<数目>等于 0 时,则将此移位指令视为 NOP 操作。
SLW:移位数目由 ACCU 2-L-L 中的数值指定。可能的数值范围为 0 - 255。移位数目大于 16 时,始终产生相同的结果:ACCU 1-L = 0、CC 1 = 0、CC 0 = 0 和 OV = 0。当 0 < 移位数目 <= 16 时,复位状态字的位 CC 0 和 OV 为 0。当移位数目为 0 时,则将移位指令视为 NOP 操作。
在前面练习的基础上继续。
TIAv17环境下再次学习练习STL-76SLW左移字(16位)
十进制11转换成二进制是0000,0000,0000,1011,左移第一次结果是0000,0000,0001,0110,左移第二次结果是0000,0000,0010,1100,左移第三次结果是0000,0000,0101,1000,最后一次移出的数是0,所以CC1=0,INT18数值是88
十进制-11,转换成二进制是1000,0000,0000,1011,反码是1111,1111,1111,0100,补码是1111,1111,1111,0101,左移第一次结果是1111,1111,1110,1010,左移第二次结果是1111,1111,1101,0100,左移第三次结果是1111,1111,1010,1000,最后一次移出的数是1,所以CC1=1,还原成反码是1111,1111,1010,0111,还原成原码是1000,0000,0101,1000,转换成十进制数是-88


0

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

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

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

新浪公司 版权所有