控制工程师论坛

PLC与PAC

有关参数类型pointer的问题

ababab
ababab

2012-06-27

学习了点小知识,分享一下

 L   P##Addr_point                  //Addr_point的数据类型为:pointer
        LAR1
        L   O
        L    W[AR1,P#0.0]                   //取指针的第一个字内的数据块编号
        ==I
       JC    _oo1
       T      #DB_No
       OPEN        DB[#DB_No]
 _001:         L      D[AR1,P#2.0]
        LAR1
        L        W[AR1,P#0.0]
        L        W[AR1,P#2.0]
        OW
         T        #Result
       弱弱的问几个问题:
       问题1:pointer指针不是48吗?怎么能放到32位地址寄存器中?any指针也有同样的疑惑?
       问题2:第四句指令   L    W[AR1,P0.0]          
                     第九句指令   L     D[AR1,P#2.0]               这两句指令怎么理解?
        问题3:pointer和any指针存放在什么地方呢?
       希望各位大侠能帮忙解答,谢谢
下面是我的回帖:
      问题1:pointer指针不是48吗?怎么能放到32位地址寄存器中?any指针也有同样的疑惑?
      第1条指令是将pointer的起始地址送累加器1,送的不是6字节的pointer本身。
       问题2:第四句指令   L    W[AR1,P0.0]          
                     第九句指令   L     D[AR1,P#2.0]               这两句指令怎么理解?
        L    W[AR1,P0.0]送的是指针的第1个字,即数据块编号。
        L      D[AR1,P#2.0]送的是指针中的后4个字节,即数据块内的起始地址。
        问题3:pointer和any指针存放在什么地方呢?
        pointer和any指针存放在调用它的块的临时局部变量区里。

回帖

评论0

首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China