发布于 2014-12-23 16:15:19
18楼
感谢楼主letham为大家做的分享和精彩讲解,但我觉得其中有点小错误:
------“当我们在程序里进行调用FB块时,AR2寄存器类容被初始化为16#85000000.实际上在该FB期间AR2一直保持为16#85000000,当该FB块为一个“父FB块”时,在调用到“子FB块”时,AR2类容变为什么了?答案是在调用"子FB块"过程中AR2类容变为16#85000000+"子FB块"在“父FB块”中的偏移地址”-------其中的AR2内容应为“16#84000000”或“16#84000000+"子FB块"”。
那么在程序中怎么能正确获得背景数据的地址呢?那是因为CPU先执行了“LAR1 P##Bins”,此后的“+AR1 ”并不影响区域ID.再说下面程序再使用变址寻址时又是区域内寻址。所以程序能如愿执行。
修德广业