程序功能:把DB块中内容长度一段一段拷贝出来做比较,当输入的字符和拷贝出来的字符相同时停止。
现在问题是程序每次执行都拷贝出后一段,而不是相同端
程序如下
A #START_CHIOCE
FP #FP_change
= #FPM_change
A #FPM_change
JCN ch1
SET
S #FINDING_PRG
L 1
T #FIND_PRG_NR
ch1: NOP 0
A #FINDING_PRG
JCN f1
L #FIND_PRG_NR
L 1
-I
L #PRODUCT_DATA_LONG
*I
T #check_program_add
CALL "AREA_COPY"
Souce_DB :=#PRODUCT_DATA_DB_ADDRESS
start_add_BYTE :=#check_program_add
Souce_data_TYP :=FALSE
Souce_LEN :=#PRODUCT_DATA_LONG
DEST_DB :=#PRODUCT_USE_DB_ADDRESS
DEST_Byte :=#PRODUCT_USE_DB_START_ADDRESS
DEST_Typ :=FALSE
DEST_Len :=#PRODUCT_DATA_LONG
A(
L #PRODUCT_NAME[1]
L #PRODUCT_NAME_USE[1]
==I
)
A(
L #PRODUCT_NAME[2]
L #PRODUCT_NAME_USE[2]
==I
)
A(
L #PRODUCT_NAME[3]
L #PRODUCT_NAME_USE[3]
==I
)
A(
L #PRODUCT_NAME[4]
L #PRODUCT_NAME_USE[4]
==I
)
A(
L #PRODUCT_NAME[5]
L #PRODUCT_NAME_USE[5]
==I
)
A(
L #PRODUCT_NAME[6]
L #PRODUCT_NAME_USE[6]
==I
)
A(
L #PRODUCT_NAME[7]
L #PRODUCT_NAME_USE[7]
==I
)
A(
L #PRODUCT_NAME[8]
L #PRODUCT_NAME_USE[8]
==I
)
A(
L #PRODUCT_NAME[9]
L #PRODUCT_NAME_USE[9]
==I
)
A(
L #PRODUCT_NAME[10]
L #PRODUCT_NAME_USE[10]
==I
)
JCN fok1
L #FIND_PRG_NR
T #PRODUCT_USE_NR
JU end
fok1: NOP 0
L #FIND_PRG_NR
L 1
+I
T #FIND_PRG_NR
L 50 //max 50 programs
>I
JCN fam1
SET
S #NOT_FIND_PRODUCT
JU end
fam1: NOP 0
f1: NOP 0
JU end2
end: NOP 0
SET
R #FINDING_PRG
R #START_CHIOCE
end2: NOP 0
BE