发布于 2014-09-20 16:41:36
3楼
我是通过通过反写来学习SCL与STL,一个复杂的功能块,当你把SCL源写出来再编译回去,如果校验和是一样,证明你写的是对的,然后你可以通过源代码了解编程者的思路,达到很好的学习效果。
上面这段STL中如果SCL用 XOR 那么编译后为 X,如果直接写,if((AUT_ON_OP and sbI_OD2) or (not AUT_ON_OP and not sbI_OD2 )) then,那么编译后如下,出现了中间临时变量:
A #AUT_ON_OP
A #sbI_OD2
= L 136.2
A #AUT_ON_OP
NOT
= L 136.3
A #sbI_OD2
NOT
A L 136.3
O L 136.2
JCN A7f3
编译后的与非都是先A 后 NOT ,不是AN,不知是SCL版本原因还是指令用的不对,我换了好几个版本都是这样,请高手们指教!