发布于 2006-11-21 23:16:58
0楼
对不起,是我看错了,是第134问题.
134:怎样访问复合数据类型数组单元的变量?
复合数据类型数组单元中的变量只有通过单独的函数才能访问。作为传送参数这个函数拥有期望的数组数量并以数组[0]作为起始地址。对此函数的要求是数组置于一个数据块中并且数组[0]不被当前数据使用。这就决定了从参数传送来的地址并将指定的数组拷贝到作为处理区的数组[0]。接下来可对数组进行符号处理。然后它被拷贝回原始的数组号。
首先用这些参数定义并计算数组[0]的地址和要处理的数组数量。将这些值保存在函数的临时变量内。
L P##Field_Start // 输入地址域[0]
LAR1
L D [AR1,P#0.0] // 把这些地址保存在类型为ANY的临时变量中
T LD 0 // temp 'firststruc' = LD 0-9
T LD 10 // temp 'sourcestruc' = LD 10-19
L D [AR1,P#4.0]
T LD 4
T LD 14
L W [AR1,P#8.0]
T LW 8
T LW 18
L LD 16 // 定义期望数组的地址
LAR1
L #Indices
L LW 12
*I
SLD 3
+AR1
TAR1 LD 16
然后用SFC20 (BLKMOV)将要处理的数组拷贝到数组[0]。就可以根据应用需求,对索引数
学如逆水行舟,不进则退