那位大侠帮忙解释一下一下这段程序,先行谢过
SET
SAVE
= L 24.1
L #SlaveAdresse
T LW 26
L DW#16#10020020
T LD 28
L DINO
T LW 32
TAR2
+ L#48
T LD 34
TAR2 LD 38
UC "DPRD_DAT"
P#L 26.0
P#L 42.0
P#L 28.0
LAR2 LD 38
L LW 42
T #UeFehlerIn
L #BYTE_ARRAY_IN[1]
L #BYTE_ARRAY_OUT[2]
==I
JCN A7d0
JU A005
A7d0: L W#16#FFFF
T #FehlersummeIn
T #FehlersummeOut
L B#16#0
T #BYTE_ARRAY_OUT[1]
L #BYTE_ARRAY_IN[2]
AD DW#16#FF
T #Code
L #Code
L 1
TAK
==I
T LW 26
JCN A7d1
JU A000
A7d1: L 2
L LW 26
==I
JCN A002
JU A001
A000: L #BYTE_ARRAY_IN[5]
AD DW#16#FF
L 2
*I
T #Byteanzahl
L #Byteanzahl
L 24
>I
JCN A7d4
JU A006
A7d4: L #Byteanzahl
L 7
+I
L 1
T #Schleife
TAK
T LW 26
TAK
A7d5: L #Schleife
L LW 26
<=I
JCN A7d6
L #Schleife
ITD
L L#-1
+D
L L#8
*D
TAR2
+D
LAR1
L DIB [AR1,P#6.0]
T LB 25
L #FehlersummeIn
TAR2 LD 38
UC "CRC16"
P#L 25.0
P#L 0.0
LAR2 LD 38
L #Schleife
L 1
+I
T #Schleife
JU A7d5
A7d6: L #FehlersummeIn
L W#16#0
==I
JCN A7d7
L #Byteanzahl
L 0
==I
JCN A7d8
JU A003
A7d8: L #Byteanzahl
L 1
-I
L 0
T #Schleife
TAK
T LW 26
TAK
A7d9: L #Schleife
L LW 26
<=I
JCN A7da
L #BYTE_ARRAY_IN[4]
AD DW#16#FF
L 2
*I
L #Schleife
+I
T #Schleife1
L #Schleife
L 6
+I
T #Schleife2
L #BYTE_ARRAY_IN[3]
AD DW#16#FF
T LW 28
L #Schleife1
ITD
L L#8
*D
L #Schleife2
ITD
TAK
T LD 30
TAK
L L#-1
+D
L L#8
*D
TAR2
+D
LAR1
L DIB [AR1,P#6.0]
OPN DB [LW 28]
LAR1 LD 30
T DBB [AR1,P#0.0]
L #Schleife
L 1
+I
T #Schleife
JU A7d9
A7da: JU A003
A7d7: JU A004
A001: L 1
T #Schleife
A7dc: L #Schleife
L 7
<=I
JCN A7dd
L #Schleife
ITD
L L#-1
+D
L L#8
*D
TAR2
+D
LAR1
L DIB [AR1,P#6.0]
T LB 25
L #FehlersummeIn
TAR2 LD 38
UC "CRC16"
P#L 25.0
P#L 0.0
LAR2 LD 38
L #Schleife
L 1
+I
T #Schleife
JU A7dc
A7dd: L #FehlersummeIn
L W#16#0
==I
JCN A7de
L #BYTE_ARRAY_IN[5]
AD DW#16#FF
L 2
*I
T #Byteanzahl
L #Byteanzahl
L 24
>I
JCN A7df
JU A006
A7df: L #Byteanzahl
L 0
==I
JCN A7e0
JU A003
A7e0: L #Byteanzahl
L 1
-I
L 0
T #Schleife
TAK
T LW 26
TAK
A7e1: L #Schleife
L LW 26
<=I
JCN A7e2
L #BYTE_ARRAY_IN[4]
AD DW#16#FF
L 2
*I
L #Schleife
+I
T #Schleife1
L #Schleife
L 6
+I
T #Schleife2
L #Schleife2
ITD
L L#-1
+D
L L#8
*D
L #BYTE_ARRAY_IN[3]
AD DW#16#FF
T LW 30
TAK
T LD 32
TAK
L #Schleife1
ITD
L L#8
*D
L LD 32
TAK
T LD 42
TAK
TAR2
+D
OPN DB [LW 30]
LAR1 LD 42
L DBB [AR1,P#0.0]
TAK
LAR1
TAK
T DIB [AR1,P#38.0]
L #Schleife
L 1
+I
T #Schleife
JU A7e1
A7e2: JU A003
A7de: JU A004
A004: L B#16#41
T #BYTE_ARRAY_OUT[1]
JU A003
A006: L B#16#42
T #BYTE_ARRAY_OUT[1]
JU A003
A002: L B#16#45
T #BYTE_ARRAY_OUT[1]
JU A003
L B#16#48
T #BYTE_ARRAY_OUT[1]
JU A003
L B#16#49
T #BYTE_ARRAY_OUT[1]
A003: L #BYTE_ARRAY_IN[1]
T #BYTE_ARRAY_OUT[2]
L #BYTE_ARRAY_IN[2]
AD DW#16#FF
T #Code
L #Code
L 1
TAK
==I
T LW 26
JCN A7e4
JU A009
A7e4: L 2
L LW 26
==I
JCN A009
JU A00a
A009: L #BYTE_ARRAY_OUT[1]
T LB 25
L #FehlersummeOut
TAR2 LD 38
UC "CRC16"
P#L 25.0
P#L 2.0
LAR2 LD 38
L #BYTE_ARRAY_OUT[2]
T LB 25
L #FehlersummeOut
TAR2 LD 38
UC "CRC16"
P#L 25.0
P#L 2.0
LAR2 LD 38
L #FehlersummeOut
AW W#16#FF
T #BYTE_ARRAY_OUT[3]
L 8
L #FehlersummeOut
LAR1
TAK
L DW#16#10
>=I
JC I007
TAK
TAR1
SRW
JU I008
I007: L DW#16#0
I008: T #FehlersummeOut
L #FehlersummeOut
AW W#16#FF
T #BYTE_ARRAY_OUT[4]
JU A005
A00a: L #BYTE_ARRAY_OUT[1]
L B#16#0
<>I
JCN A7e7
L 0
T #Byteanzahl
TAK
T #BYTE_ARRAY_OUT[3]
T #BYTE_ARRAY_OUT[4]
T #BYTE_ARRAY_OUT[5]
JU A7e8
A7e7: L #BYTE_ARRAY_IN[3]
T #BYTE_ARRAY_OUT[3]
L #BYTE_ARRAY_IN[4]
T #BYTE_ARRAY_OUT[4]
L #BYTE_ARRAY_IN[5]
T #BYTE_ARRAY_OUT[5]
A7e8: L #Byteanzahl
L 5
+I
L 1
T #Schleife
TAK
T LW 26
TAK
A7e9: L #Schleife
L LW 26
<=I
JCN A7ea
L #Schleife
ITD
L L#-1
+D
L L#8
*D
TAR2
+D
LAR1
L DIB [AR1,P#38.0]
T LB 25
L #FehlersummeOut
TAR2 LD 38
UC "CRC16"
P#L 25.0
P#L 2.0
LAR2 LD 38
L #Schleife
L 1
+I
T #Schleife
JU A7e9
A7ea: L #Byteanzahl
L 6
+I
ITD
L L#-1
+D
L L#8
*D
L #FehlersummeOut
AW W#16#FF
TAK
TAK
T LB 25
TAK
TAR2
+D
L LB 25
TAK
LAR1
TAK
T DIB [AR1,P#38.0]
L 8
L #FehlersummeOut
LAR1
TAK
L DW#16#10
>=I
JC I009
TAK
TAR1
SRW
JU I00a
I009: L DW#16#0
I00a: T #FehlersummeOut
L #Byteanzahl
L 7
+I
ITD
L L#-1
+D
L L#8
*D
L #FehlersummeOut
AW W#16#FF
TAK
TAK
T LB 25
TAK
TAR2
+D
L LB 25
TAK
LAR1
TAK
T DIB [AR1,P#38.0]
A005: L #SlaveAdresse
T LW 26
L DW#16#10020020
T LD 42
L DINO
T LW 46
TAR2
+ L#304
T LD 48
TAR2 LD 38
UC "DPWR_DAT"
P#L 26.0
P#L 42.0
P#L 32.0
LAR2 LD 38
L LW 32
T #UeFehlerOut
A L 24.1
SAVE
BE