发布于 2013-08-07 12:28:55
6楼
因为你没有写出来程序代码所以你说的和想的可能不同。
你的思想1:fc1中:
L MW100
L 100
<=I
JCN M1
CALL FC1
L MW100
L 1
+I
T MW100
M1:NOP 0
思想2:在fc1中:
L 0
T MW100
A00:L MW100
L 100
<=I
JCN M1
CALL FC1
L MW100
L 1
+I
T MW100
LOOP A00
思想1,在ob1的一个周期内调用fc1一次,思想2中ob1的一个周期内调用fc1一百零一次。
这个程序简单,看起来倒是没不怎么难,关键,有没有办法仿真下,让人能知道到底是不是上面说的那样那?难道有些指令就决定了是不是一个扫描周期就能完成的吗?如LOOP,那么别的那?如,CASE ,FOR,GOTO,等等,用了这些就是在一个周期就可以实现的吗?
而且我对上面的程序有异议,
思想1中明显是个条件语句,并不是循环语句,条件满足则执行,不满足则跳出,就算一直满足,也只执行一次就跳转出去,等下个周期扫描到该处,再执行一次,如此反复执行,直到条件不满足,跳过。
思想2中明明用了LOOP指令,也就是说它是实实在在的循环指令,为什么要用101个扫描周期,而不用一个扫描周期,那这样的循环如果和IF语句的用法没区别的话,为什么还要说LOOP是循环语句那?
所以我觉得逻辑还是有点混乱的,概念还是有点问题,呵呵!求驳斥辩解,谢谢!
每天进步一点点,成功源于积累!