回复:请教高手!急!急!急!

爱冬如梦007

  • 帖子

    7
  • 精华

    0
  • 被关注

    1

论坛等级:新手

注册时间:2010-09-29

普通 普通 如何晋级?

发布于 2010-12-06 21:31:59

7楼

首先,感谢各位大师的不吝赐教,特别是六楼的朋友,虽然给出的程序不可用,但是却给了我很好的提醒,即用寄存器间接寻址的方法实现,现在,我又将程序整理了一下,没有任何错误,下载到仿真之后cpu不停机,也无故障。(天大的进步啊),只是还不能实现,具体讲就是在程序中监控时,扫描进行到
+AR1 P#4.0时就下不去了,不知是什么原因,先将程序奉上,望高手在本人编程思路方向上予以指点,先谢了!


L 4
T LW 42 //内循环循环次数预置
T LW 44 //用于内循环循环次数修改
L 4
T LW 40 //外循环循环次数预置
L P#0.0
LAR1 //内循环寻址地址初始化
L P#0.0
LAR2 //外循环寻址地址初始化
OPN "RUNTIME_DEVICE"
AB: L DBD [AR2,P#0.0]
L DBD [AR1,P#4.0]
<=D
JC BC //如果a1>a2,彼此位置不变,否则互换位置
T DBD [AR2,P#0.0]
TAK
T DBD [AR1,P#4.0]
BC: L LW 42 //内循环次数修改
DEC 1
T LW 42 //保存修改后内循环次数
L 1
==I //第一轮比较完成则跳转
JC CD
+AR1 P#4.0
JU AB
CD: L LW 44 //每一轮比较完成后,修改内循环循环数
DEC 1
T LW 44 //保存修改后内循环次数
T LW 42 //保存修改后循环次数
L LW 40 //外循环
DEC 1
T LW 40 //保存修改后外循环次数
L 1
==I
JC A2
JU A3
A2: +AR2 P#4.0
JU AB
A3: NOP 0
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。