发布于 2010-07-16 19:47:38
2楼
L #IN0
T #TEMP4
SLD 3
LAR1 //将IN0所对应的地址左移三位,下面方便按字节处理; 并将其地址装载如LAR1
L #IN3
L 1
-I
L 2
*I
SLD 3
LAR2 //因为IN3=1,所以将0装载入AR2,为啥还要乘以2?
M001: NOP 0
OPN #IN2 //打开数据块DB100;
L PIW [AR1,P#0.0] //将PIW256 装入ACCU1
T DBW [AR2,P#0.0] //将ACCU1低字装入DB100.DBW0
+AR1 P#2.0 //AR1偏移2个字节,下个周期即可指向PIW258
+AR2 P#2.0 //AR2偏移2个字节,下个周期可指向DBW2;
L #TEMP4
L 2
+I
T #TEMP4 //TEMP4=TEMP4+2
A(
L #TEMP4
L #IN1
)
JNB M002 //如果TEMP4>256,则终止循环,否则继续循环,128个 PIW
JU M001
M002: NOP 0
(IN0=256,IN1=335,IN2=DB100,IN3=1)
不知道我分析的可对,清零那边有个疑问,为啥要乘以2,也是这两天开始看STL。欢迎下面分析指正。