如上图,在数据块内写入地址连续的字的数值,使用间接寻址。
功能需求:更改VD280内的值,可以将以VW600为起始地址的任意地址数值调取出来
疑问:
正如上图,系统内强制更改VD280内的值,可对应的数值并不对,并且有些数值根本不在数据块内,不知道为何。
请大神给与指导!
谢谢!
点击:882 回复:5
引用 刘国辉 在 2022/7/28 17:00:38 发言【内容省略】
原因是你的寻址错误了,一般对WORD或者DOUBLE WORD的寻址会建议使用偶数寻址方式,而您第一张图中的VD280中竟然是奇数11,其实际读取的地址是VB611,因为使用了WORD的指令,因此其读取的值是 VB611和 VB612组成的VW611,由于西门子高位数据在前,因此VW611中的数值为2#111111 00000000,这个值转换为10进制就是16128,这属于程序员的基本功问题。