照书上的例子,写如下代码在仿真模拟器中测试运行,监测结果:每按下一次 I0.0 ,VW0 的值增加10; 但按下 I0.1 VW0 的值并没有按预期减 10 ;当VW0为100时,按下 I0.1 VW0变成了65446. 再按一次 I0.1 VW0的值又恢复成100 。如果不停地按下 I0.1. VW0的值就一直在 100 和 65446 之间切换。但 按下I0.0 时,不管VW0 的值为多少,均能正常实现增加10 的预期。
刚了解学习几天,很多东西还不懂。实在搞不懂这是怎么回事。还请前辈,高手,老司们多多指教。谢谢!
0 ORGANIZATION_BLOCK MAIN:OB1
1 BEGIN
2 Network 1
3 LD SM0.1
4 MOVW 100, VW0
5 Network 2
6 LD I0.0
7 EU 0
8 +I 10, VW0
9 Network 3
10 LD I0.1
11 EU 1
12 INVW VW0
13 INCW VW0
14 +I 10, VW0
15 END_ORGANIZATION_BLOCK 23
16 SUBROUTINE_BLOCK SBR_0:SBR0
17 BEGIN
18 Network 1
19 END_SUBROUTINE_BLOCK 0
20 INTERRUPT_BLOCK INT_0:INT0
21 BEGIN
22 Network 1
23 END_INTERRUPT_BLOCK 0