您现在所在的是:

西门子SIEMENS

回帖:4个,阅读:931 [上一页] [1] [下一页]
* 帖子主题:

高手请进 :)

1025
hezezao
文章数:10
年度积分:50
历史总积分:1025
注册时间:2007/2/1
发站内信
发表于:2007/7/6 15:24:00
#0楼
下面是我写的一段程序,功能是输入一个数值,程序在表内寻找与之相对应的数据,找到之后把后面的数据往前移一个字,把找到的这个数据覆盖,表格最后一个覆盖为0,表格范围减一,程序调试的时候字能正确往前移,但就是显示程序出错,我看来看去都找不出错在哪,望高手指教。或有更好方法实现这个功能


//打开数据块,得到表格指针
     L     P##point_1
     LAR1  
     L     W [AR1,P#0.0]
     T     #block_no
     OPN   DB [#block_no]
     L     D [AR1,P#2.0]
     LAR1  
//得到表格范围数据与第一个数据指针,初始化循环次数
     L     W [AR1,P#0.0]
     T     #table
     L     0
     T     #Cyc_find
     T     #Cyc_move
     +AR1  P#2.0
//寻找与输入编号相同的数据
_003: L     W [AR1,P#0.0]
     L     #P_NO
     ==I  
     JC    _002
     +AR1  P#2.0
     L     #Cyc_find
     L     1
     +I    
     T     #Cyc_find
     JU    _003
//得到位移次数
_002: L     #table
     L     #Cyc_find
     -I    
     L     1
     -I    
//位移循环开始
_001: T     #Cyc_move
     L     W [AR1,P#2.0]
     T     W [AR1,P#0.0]
     +AR1  P#2.0
     L     #Cyc_move
     LOOP  _001
//循环结束,表格范围-1
     L     0
     T     W [AR1,P#0.0]
     L     #table
     L     1
     -I    
     T     #table
日本人说中日友好,中国人民笑了:你丫骗谁呢?
日本人说自己爱和平,亚洲人民笑了:说的是人话吗?
日本人说自己要维护世界和平,美国人民笑了:问你大爷没?
日本人说自己是人,全世界的狗都叫了:兄弟,做狗要厚道,不能忘本!
872
GFLIQ
文章数:6
年度积分:50
历史总积分:872
注册时间:2007/6/30
发站内信
发表于:2007/7/6 15:47:00
#1楼
此楼内容不符合板块规定,不予显示! 查看原帖内容>>
3472
dixinke
文章数:1062
年度积分:50
历史总积分:3472
注册时间:2004/9/9
发站内信
发表于:2007/7/6 18:43:00
#2楼
为什么不用两个指针呢!!!!真是很奇怪,C的查询基础啊!!
1025
hezezao
文章数:10
年度积分:50
历史总积分:1025
注册时间:2007/2/1
发站内信
发表于:2007/7/9 12:23:00
#3楼
我只是初学者,没有学过C,刚刚搞明白间接寻址,也不容易了. 已经搞定了,好像是不能用JU指令,总之不用JU之后就可以了


[此贴子已经被作者于2007-7-9 15:43:44编辑过]
日本人说中日友好,中国人民笑了:你丫骗谁呢?
日本人说自己爱和平,亚洲人民笑了:说的是人话吗?
日本人说自己要维护世界和平,美国人民笑了:问你大爷没?
日本人说自己是人,全世界的狗都叫了:兄弟,做狗要厚道,不能忘本!
1021
gchen1981
文章数:25
年度积分:50
历史总积分:1021
注册时间:2004/12/9
发站内信
发表于:2007/7/9 23:11:00
#4楼
是的,用了JU以后,程序认为是死循环,然后就是系统错误了。
玩玩乐乐享生活
   [http://www.wower.org/?fromuser=liuchangjie]

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004