P指针寻址

今天看到一个32位地址指针寻址的程序,见下面;

L         4
SLD    3
T    MD 20    // MD20 =P#4.0,为什么不是32?

L    P#20.0
T   MD 24     // MD24=P#20.0

L    320
T    MD28    //MD28=P#40.0,为什么不是320?

问题补充:
愿我能:
    那我不说是32位指针寻址,只是下面的程序:
L         4
SLD    3
T    MD 20    

L    320
T    MD28  

1、如果遇到MD20 或者 MD28 当做P指针寻址,那MD20=P#4.0;MD28=P#40.0;
2、如果只是当做装载数据传送数据,MD没有被当做P指针,那它们中的数据就是MD20=32;MD28=320;
这样可以理解吗?

最佳答案

MD20=P#4.0,其实就是32。MD28=P#40.0,其实就是320。,对于32位指针而言,第0位到第2位表示寻址的位,第3位到第18位表示寻址的字节。例如十进制数4左移3位就是32,对应二进制就是00000000000000000000000000100000,第0-2位表示位寻址,就是0,第三位到第18位是000000000000010,就是4,因此就是P#4.0。参考以下链接:
http://www.ad.siemens.com.cn/service/answer/solution.aspx?q_id=53875&cid=1029
补充说明:你的理解是正确的。

提问者对于答案的评价:
谢谢,两位高手愿我能和Simba2015指点;

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月27日 下午2:22
下一篇 2017年6月27日 下午2:22

相关推荐