发布于 2011-11-22 15:25:22
15楼
ACCU1中如果第15位为1,即是说符号位为1的话,程序中用第一种方式肯定寻址错误,也就是说超过了限制。
反应在多重背景FB中,表现为不能对实际地址在背景DB中超过4096以后的变量用第一种方式寻址了,但是用第二种方式就没有问题。为什么+AR1非要这种处理方式呢,为什么不能将高位全补零呢?
但是实际应用中能绝对保证就用不到4096以后的地址么??
而且,对于FB的IN/OUT变量的复杂类型,如STRUCT、UDT、ARRAY等,FB本身就将其作为一个48位的指针来处理的,所以这种编程方式还相当普遍。
希望大侠来解惑
业精于勤,行成于思