|
发表于 2014-2-8 18:26:44
|
显示全部楼层
1、能不能多次在不同的地方使用AR1/AR2?
当然可以。AR1/AR2就是地址寄存器,应用它们可以实现寄存器间接寻址。AR1/AR2中的内容可以通过不断地变化来实现寻址的功能,例如在循环语句中应用AR1/AR2,实质上就是多次应用。
2、是否保存与释放AR1/AR2要根据实际应用而定。楼主所述倒是编程中值得一个要要注意的地方。
3、DBNO和DINO要在变量表定义的,不能直接写。
AR1/AR2就是地址寄存器,应用它们可以实现寄存器间接寻址。AR1/AR2中的内容可以通过不断地变化来实现寻址的功能,例如在循环语句中应用AR1/AR2,实质上就是多次应用。
是否保存与释放AR1/AR2要根据实际应用而定。楼主所述倒是编程中值得一个要要注意的地方。
DBNO和DINO要在变量表定义的,不能直接写。
第1条,在一个FC内,是可以多次在不同的地方使用AR1/AR2,如果是在FB里,可以任意使用AR1,但是使用AR2是很危险,特别是给AR2赋值,因为AR2是作为FB背景数据块的背景首地址指针,如果改变AR2,FB访问接口变量和STAT变量就会不能正确寻址,因此,尽量不要在FB中使用AR2。
第2条,是否保存与释放AR1/AR2要根据实际应用而定。如果你不是很清楚是否需要保存,那你就最好是这个工作,这可以避免不必要的麻烦.
第3条, L DBNO 和 L DINO 这是两条独立指令,DBNO和DINO请不要把前面的L给拆开,他并不是变量,L DBNO 是获取当前共享数据块编号,L DINO是获取背景数据块的编号 |
|