mall9002
級別: 略有小成
|
怎么感覺FOR循環下,到達表達式成立后后面的,加,轉移指令還會執行? 邏輯指令能夠停止?這是怎么回事? FOR shuzhi1:=0 TO 10 BY 1 DO Z1:=Z1+1; DMOV(TRUE,k1234,shuzhi2); Y21:=M8002; IF shuzhi1=10 THEN EXIT; END_IF; END_FOR; shuzhi2 為全局變量 軟元件 D1354Z1 shizhi1 全局變量 D1350 shuzhi1到達10后,Z1:=Z1+1; DMOV(TRUE,k1234,shuzhi2); 還會執行; Y21:=M8002; 不執行 。 而且編譯結果看起來也是跳過這些語句的,實在不明白了。使用REPEAT的不存在這樣的問題。 129 LDD> D1350 K10 138 CJ P1074 141 LD M8000 142 ADD Z1 K1 Z1 149 LD M8000 150 DMOV K1234 D1354Z1 159 LD M8002 160 OUT Y021 161 LDD<> D1350 K10 170 CJ P1075 173 LD M8000 174 CJ P1074 177 P1075 179 LD M8000 180 DADD K1 D1350 D1350 193 LD M8000 194 CJ P1073 197 P1074 199 LD M8012 200 OUT Y020 |
---|---|
|