发布于 2005-06-05 23:17:49
0楼
根据位号计算指针的子程序
FUNCTION "Pointer_Cal" : VOID
TITLE =
VERSION : 0.1
VAR_INPUT
Pos_No : INT ;
END_VAR
VAR_OUTPUT
Pos_Pointer : DWORD ;
END_VAR
VAR_TEMP
Byte_Tmp : INT ;
Bit_Tmp : INT ;
END_VAR
BEGIN
NETWORK
TITLE =
L #Pos_No;
L 8;
/I ;
T #Byte_Tmp;
SRD 16;
L 8;
TAK ;
-I ;
L 8;
MOD ;
T #Bit_Tmp;
NETWORK
TITLE =
A( ;
L #Byte_Tmp;
L 0;
==I ;
) ;
A( ;
L #Bit_Tmp;
L 0;
==I ;
) ;
JNB _001;
L 7;
T #Bit_Tmp;
_001: NOP 0;
NETWORK
TITLE =
A( ;
L #Byte_Tmp;
L 0;
>I ;
) ;
A( ;
L #Bit_Tmp;
L 0;
==I ;
) ;
JNB _002;
L #Byte_Tmp;
L 1;
-I ;
T #Byte_Tmp;
_002: NOP 0;
NETWORK
TITLE =
L #Byte_Tmp;
SLW 3;
L #Bit_Tmp;
+D ;
T #Pos_Pointer;
END_FUNCTION
Zane
注册自动化系统工程师
Always save before download