发表于:2008/12/18 20:27:00
#0楼
这是我在网上看到的一段将PIW输入读取到DB中的FC程序:
L #IN0
T #TEMP4
SLD 3
LAR1
L #IN3
L 1
-I
L 2
*I
SLD 3
LAR2
M001: NOP 0
OPN #IN2
L PIW [AR1,P#0.0]
T DBW [AR2,P#0.0]
+AR1 P#2.0
+AR2 P#2.0
L #TEMP4
L 2
+I
T #TEMP4
A(
L #TEMP4
L #IN1
<I
)
JNB M002
JU M001
M002: NOP 0
其中OB调用程序为:
CALL "PIWtoDBW"
IN0:=256
IN1:=351
IN2:="piw_in" //piw_in为目的DB块
IN3:=1
问题是:
L #IN3
L 1
-I
L 2
*I
SLD 3
LAR2
它把#IN3输入的1减去1,再乘以2,再左移3位,这些操作是干什么用的??????
L #IN0
T #TEMP4
SLD 3
LAR1
L #IN3
L 1
-I
L 2
*I
SLD 3
LAR2
M001: NOP 0
OPN #IN2
L PIW [AR1,P#0.0]
T DBW [AR2,P#0.0]
+AR1 P#2.0
+AR2 P#2.0
L #TEMP4
L 2
+I
T #TEMP4
A(
L #TEMP4
L #IN1
<I
)
JNB M002
JU M001
M002: NOP 0
其中OB调用程序为:
CALL "PIWtoDBW"
IN0:=256
IN1:=351
IN2:="piw_in" //piw_in为目的DB块
IN3:=1
问题是:
L #IN3
L 1
-I
L 2
*I
SLD 3
LAR2
它把#IN3输入的1减去1,再乘以2,再左移3位,这些操作是干什么用的??????