发布于 2011-12-01 14:50:49
46楼
[quote]以下是引用n次看你的背影在2011-12-01 13:45:26的发言:
是的,A兄说的对,上面的参考例子里面相同的数据在DB13里面并不是连续存储的,是与DB11、DB12相同数据的地址对应的,可能A兄没有看清楚参考例子的要求!如果DB11、DB12相同的数据需要连续存储到DB13,那么就需要用到AR2了!
quote]
把数据需要连续存储到DB13,程序该怎样修改呢?我试试,不知是否正确,哪位大侠能指正。
LAR1 P#0.0
LAR2 P#0.0
L 200 //循环200次
NEXT: T LW 100
OPN DB 13 //打开数据快DB13
L 0.000000e+000
T DBD [AR1,P#0.0] //将DB13当前的地址清零
OPN DB 11 //打开数据快DB11
L DBD [AR1,P#0.0] //读取DB11当前的数据
T LD 102 //★暂存到临时存储器 LD102里面
OPN DB 12 //打开数据快DB12
L DBD [AR1,P#0.0] //读取DB12当前的数据
T LD 106 //★暂存到临时存储器 LD106里面
L LD 102 //★比较DB11、DB12对应的地址里面的数据
L LD 106
==R //是否相等
JCN M001
OPN DB 13
L LD 102
T DBD [AR2,P#0.0] //相同的数据写到DB13对应的地址里面
+AR2 P#4.0
M001: +AR1 P#4.0 //地址寄存器1的地址向前推进4个字节
L LW 100
LOOP NEXT