求大神帮忙解释下图片中程序1的,LAR1和为什么160会转换为7632,图片程序2是DB127的格式
问题补充:
为什么DB127.DBW20=7632而不其他的数字、如果是DB127.DBW10那得出的数字又是多少?
图片说明:
3b3a60781a1d6e5282673eFC3c044c97
最佳答案
通过程序可以看出临时变量#TEMP3=20,保存在累加器1中,然后左右3位,左移一位相当于数值乘以2,所以最终结果是20*8=160,LAR1,意思就是讲累加器1存储地址指针写入AR1,即AR1=160,就是P#20.0
OPNDB127//打开数据块DB127
LDBW[AR1,P#0.0]//就是LDB127.DBW20,就是把DB127.DBW20装载到累加器1中。因为DB127.DBW20=7632,所以累加器1中值也是7632。
建议楼主了解间接寻址。可以参考以下链接:
htTP://wenku.baidu.com/link?url=LsmocioWFL-WaLnMNMSEfbmkDWD94z8LfZ1uEwyPz__WsASkf5xP85QmfpVhA5oTF9rBw7CcAFBh6wjDjilUTiYHKO7bQzDjgMbaBYIVFiC
如果是DB1287.DBW10,这个要你打开数据块DB127监控数据块DB127.DBW10在线值是多少就是多少。你的数据块是数组类型,如果想看每一个数据在线值可以打开数据块,点击菜单栏“视图”,切换到“数据视图”就可以看到DB127.DBW10或DB127.DBW20的数值是多少了。或者使用变量表监控DB127.DBW10和DB127.DBW20的数值。
提问者对于答案的评价:
3Q