OPNDB300
LP#0.0
LAR1
L5
_001:TMB2000
LDBD[AR1,P#0.0]
TDB301.DBD0
AM100.0
+AR1P#4.0
LMB2000
LOOP_001
这个程序是我照阿鸣大师修改的,在DB300中建立100个数据,通过指针每当A100.0成立时候,就把数据传送到DB301.DBD0中,DB301已经建立好了,但是没成功,程序有啥错误?
问题补充:
这个程序运行了,就把DB300.DBD0的值传递给DB301.DBD0了,然后A100.0再成立就始终是DB300.DBD0的值,DB块中应该按顺序DB300.DBD4、DB300.DBD8、DB300.DBD12…往下走吧?按顺序把值赋值给DB301.DBD0才对呢
最佳答案
感觉用循环来做的话,很难把循环中断,M100.0的条件不好加进去,不烦用下面程序试试看;
OPNDB300
LAR1MD160//初始化,地址寄存器1,
AM100.0//启动的条件
FPM100.1//这里做上升沿的目的就是一个周期值计算一次
JCNA001
LDBD[AR1,P#0.0]
TDB301.DBD0
TAR1
L3168
<D//比较是否有超过规定的100的实数,因为从0开始的所以是3200-32=3168
JCNA002
+AR1P#4.0//地址寄存器自加4个字节,这样就能往下移动了
TAR1MD160//MD160用来存放指针地址
JUA003
A002:L0
TMD160//如果超过了100个数,就从头开始
A001:NOP0
A003:NOP0
以上程序经过测试,可行的;
提问者对于答案的评价:
非常棒,受益匪浅,谢谢大家了
专家置评
已阅,最佳答案正确。