请问这个temp1是多少?关不关db10的事?指针的双字与字有什么区别?最后三位作为位吗?

OPN   DB 10
      L     2
      SLW   3
      LAR1  
      A     M [AR1,P#0.0]
      =     TEMP1

最佳答案

1、 L     2
      SLW   3
       LAR1  
常数2:0000 0000 0000 0000 0000 0000 0000 0010;
SLW   3(左移3位)后为0000 0000 0000 0000 0000 0000 0001 0000;
  LAR1 ,指针 AR1 为:当作为双字指针时,就应该按照3-18bit指定byte,0-2bit指定bit来确定最终指令要操作的位地址,因此:
  0000 0000 0000 0000 0000 0000 0001 0000 = 2.0  
2、A     M [AR1,P#0.0]  
   =     TEMP1//将M2.0中的状态存入TEMP1中。
3、这个temp1是多少?
取决于M2.0中的状态。
4、指针的双字与字有什么区别?
如上所述,双字指针可以识别字节与位地址。单字指针只应用在地址标识符是非位的情况下。它确定的数值是0-65535,而对于byte.bit这种具体位结构来说,只能用双字指针。这是它们的第一个区别,单字指针的另外一个限制就是,它只能对T、C、DB、FC和FB进行寻址,通俗地说,单字指针只可以用来指代这些存储区域的编号。  
  相对于单字指针,双字指针就没有这样的限制,它不仅可以对位地址进行寻址,还可以对BYTE、WORD、DWORD寻址,并且没有区域的限制。不过,有得必有失,在对非位的区域进行寻址时,必须确保其0-2bit为全0!
5、最后三位作为位吗?
当作为双字指针时,就应该按照3-18bit指定byte,0-2bit指定bit来确定最终指令要操作的位地址。

提问者对于答案的评价:
谢谢!!!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc232168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午12:55
下一篇 2018年12月1日 下午12:55

相关推荐