发表于:2006-11-19 11:23:00
1楼
好象是我没说明白吧,这么多天了也没有一个朋友帮忙解答.
这段程序是FB65里头的一部分,FB65是由FB2多次调用的,变量都存在多重背景数据块DB2里面.
LAR1 P##Ausb_SM语句装入AR1的地址是不是该变量的相对地址,比如#Ausb_SM的地址是8.0,而寄存器寻址指令A [AR1,P#1.0] 需要的是绝对地址,比如第一次调用的时候该地址应该是DB2.DBW8.0,第二次调用FB65的时候#Ausb_SM的绝对地址就应该是DB2.DBW32.0,所以就需要加上AR2.
我现在的疑问是在调用一个功能块的时候AR2里面的数据是保持原先的数据还是自动写入背景数据块的初始地址??
这些都是我看程序时候的猜测,哪位高人给指点指点?