今天又看了一下+AR1的指令,不能理解其处理方式,因为会连符号位扩展24位,所以会带来问题
下图是仿真的画面,2种语句的变化,程序是在多重背景FB里写的,其中,#IN2在背景DB里的实际起始地址为65523.0,如下图:

下图是采用帖子中的处理仿真:

可以看出,得出的地址早就超过了DB实际容量,而且也不正确
下图采用我提到的处理仿真:

可以得到#IN2在背景DB中的实际地址。
在+AR1中的指令说明,允许-32767到32767之间的数,但是实际的程序中超过此限制时却又不限制使用,在某种条件下,会导致程序错误。
关于我理解中存在的问题,希望有大侠能指点一下。