双字左移5位

OPN   "DB_FT_TRA"                 // DB internal conveyor bits
      L     1
      SLD   5
      LAR1  
      L     DBD [AR1,P#0.0]
      T     LD     0  
请教一下,这段程序 左移五位是什么意思?请问谁有关于移位不同位数的讲解吗?谢谢

最佳答案

地址寄存器是专门用于寻址的一个特殊指针区域,西门子的地址寄存器共有两个:AR1
和AR2。每个32位。区域内寄存器间接寻址时,寄存器中的内容等同于存储器间接寻址中的双字指针,也就是:   其0-2bit,指定bit位,3-18bit指定byte字节。其第31bit固定为0。
  如果对相邻两个字节操作,指针转换为整数值最小必须为8(指针为P#1.0)的倍数;
  如果对相邻两个字操作,指针转换为整数值最小必须为16(指针为P#2.0)的倍数;
  如果对两个双字操作,指针转换为整数值最小必须为32(指针为P#4.0)的倍数。
   数值左移一位,相当于数值乘以2。
OPN   "DB_FT_TRA"                 // 打开数据块“DB_FT_TRA"
      L     1                                    //把十进制数值1装入累加器1
      SLD   5                                //累加器1数值左移5位。数值左移一位,相当于数值乘以 2,             左移5位,乘以2的5次方,最后数值等于32
        LAR1                                   //将累加器1存储的地址指针写入AR1
      L     DBD [AR1,P#0.0]          //累加器1数值为32.相当于P#4.0 ,这条指令的意思是DBD4
      T     LD     0                          //累加器1内容传送给LD0 。
这段程序的意思就是把"DB_FT_TRA" .DBD4的内容传送到LD0中。
  间接寻址的详细信息请参考以下链接:http://wenku.baidu.com/link?url=1Etz4AxJubiWU5BadnH0wSD2oHJWfUyBGi8umSKlZcyCxXATcdWsf8okwtO9sz48OIJQsreAX7MTr8cgbITw5It91uAEjAzu-Tsf1EZZXD3

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

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月24日 下午5:20
下一篇 2017年6月24日

相关推荐