回复:各位大咖帮忙分析一下指针寻址数据运算——求助给为大神

小青涩

  • 帖子

    32
  • 精华

    0
  • 被关注

    1

论坛等级:游士

注册时间:2018-01-24

普通 普通 如何晋级?

发布于 2018-11-13 23:30:18

3楼

展开查看
以下是引用艾星落尘在2018-09-05 00:22:55的发言 >2楼

当使用32位寄存器寻址时,32指针的低3个位是为位寻址准备的,也就是可以访问到位,当然了也可以访问字节为单位的变量,如下图:

那么给寄存器赋值时,例如ar1,如果进行以字节为单位的寻址时,就要排除位的影响,说白了这个指针数据包含了位地址,那么这个时候位地址要为0,但是在PLC里,数据存储是从低位开始的,所以就要往左移动3位,也就是SLD 3,这样就得到了一个比原来数值大8倍的一个数;


 @艾星落尘:你好,首先非常感谢你的热心帮助,在我的其他求助贴里也经常能看到您的回复,在我的其他求助贴里也经常能看到您的回复,对于stl编程语言,寄存器寻址您应该是很熟悉了,我这里还有一个疑惑,你看不能给我解惑一下,指令是这样的。

L   DB1.DBW[AR1 P#2.0] 

+      -1  ,

这句指令中,假设我DB1.DBW【ar1 p#2.0】中内容是10,那执行加(负1)后,这个晕算结果是多少呢。有没有特别讲究的,还是最简单就是10-1=9.

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54703条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。