发布于 2015-04-14 09:14:00
2楼
JU OK2
ERRO: L 1
T #MaxChannels
T #RET_VALUE
CLR 、、、这里为什么清零?清RLO的状态然后给BR,而ENO的状态=BR。相当于的块的出错处理状态,没有错误为1,有错误为0
SAVE //clear "ENO"
BEU
OK2: NOP 0
OPN "M_Function"
L 16
L3: T #LoopCounter
DEC 1、、、、、、、、、、、、、、、、、、这里减一之后为什么要位移
SLD 7 //skip Bit-adress(3) and multipl. with 16 (2e4)
LAR1
L 0
T DBD [AR1,P#0.0] //base Puls
T DBD [AR1,P#4.0]
T DBD [AR1,P#8.0]
T DBD [AR1,P#12.0]
L #LoopCounter
LOOP L3
这是一个带循环的计算,如果不减1“偏移量”就不会发生变化循环就没有意义(当然也可以是其它的运算)
,之后的移位运算可以看一下寄存器的间接寻址才会理解
寄存器地址AR1=(#LoopCounter-1)*(2^7)/8
第一个运算循环后指向P#240.0
下一个循环-P#16.0指向P#224.0
。。。。。。。。。。。。
一切皆有可能