技术论坛

请教下面一段程序含义

作者 主题
游民

经验值: 69
发帖数: 1
精华帖: 0
主题:【求助】请教下面一段程序含义


只看楼主 楼主 2021-04-24 09:59:05

  L     DB6.DBW   54

      SLW   3

      T     #TEMP0

      L     DBD   50

      L     2.764800e+002

      *R    

      RND   

      T     #TEMP1

      L     27648

      L     #TEMP1

      -I    

      T     #TEMP1

      L     LW     6

      T     PQW [#TEMP0]

这段程序什么意思,为何左移3位


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1692820&b_id=4&s_id=0&num=4

至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:请教下面一段程序含义


只看楼主 1楼 2021-04-24 10:08:13

为何左移3位?

左移3位,这个是二进制描述数据的方式,相当于乘了8.

理解这个问题需要先理解300的寻址方式,为变量 #TEMP0移动指定方向。


 
以下网友喜欢您的帖子:

  
新手

经验值: 18
发帖数: 3
精华帖: 0
回复:请教下面一段程序含义


只看楼主 2楼 2021-04-26 15:27:55

左移3位就是乘以8。

DB6.DBW   54中的数值乘以8后作为PQW的输出地址,应该是硬件组态时该类模拟量输出地址都是间隔了8个字节。


 
以下网友喜欢您的帖子:

  
游侠

经验值: 381
发帖数: 21
精华帖: 0
回复:请教下面一段程序含义


只看楼主 3楼 2021-04-30 14:55:20

左移3位是躲开位地址,只能是字节。比如直接寻址I1.7,I是寻址区域,1是I区第一个字节,7是第一个字节的第8位,7用2进制表达=111,不要位地址左移3位是不是就行了?这个和寻址格式有关,你可以理解为去掉小数点、、、


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6006
发帖数: 959
精华帖: 6
回复:请教下面一段程序含义


只看楼主 4楼 2022-04-24 10:19:50

指针使用的规范,左移后的内容保证位地址是零。给最后赋值的PQW【】


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
请教下面一段程序含义
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。