您的位置:控制工程论坛网论坛 » PLC与PAC » 有关参数类型pointer的问题

ababab

ababab   |   当前状态:在线

总积分:5826  2024年可用积分:0

注册时间: 2011-05-06

最后登录时间: 2023-08-16

空间 发短消息加为好友

有关参数类型pointer的问题

ababab  发表于 2012/6/27 9:29:33      1633 查看 0 回复  [上一主题]  [下一主题]

手机阅读

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

 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指针存放在调用它的块的临时局部变量区里。

1楼 0 0 回复