发布于 2012-03-10 13:28:53
7楼
//这个求以正整数1开始的累加和,受嵌套或栈的影响,实参byNum 的值必须小于25
FUNCTION fc11 : INT
TITLE =
VERSION : 0.1
VAR_INPUT
byNum : BYTE ;
END_VAR
VAR_TEMP
iSum : INT ;
byTemp : BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =
L 0;
T #RET_VAL;
T #iSum;
L #byNum;
==I ;
JC end1;
L 1;
==I ;
JCN nxt1;
T #RET_VAL;
JU end1;
nxt1: POP ;
DEC 1;
T #byTemp;
CALL fc11 (
byNum := #byTemp,
RET_VAL := #iSum);
L #iSum;
L #byNum;
+I ;
T #RET_VAL;
end1: NOP 0;
END_FUNCTION
用SCL可能更容易实现算法,代码看上去更精简,但编译为STL代码量可能有所增加
一切皆有可能