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

艾星落尘

  • 帖子

    996
  • 精华

    1
  • 被关注

    179

论坛等级:至圣

注册时间:2010-02-26

白金 白金 如何晋级?

发布于 2018-11-15 14:13:32

5楼

展开查看
以下是引用小青涩在2018-11-13 23:30:18的发言 >3楼

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

L   DB1.DBW[AR1 P#2.0] 

+      -1  ,

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

以下是引用艾星落尘在2018-09-05 00:22:55的发言 >2楼:当使用32位寄存器寻...

引用2楼详细内容:

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

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


是的,就是对寻址后的数值进行加法的运算也就是10-1

一个人在战斗
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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