回复:怎样实现64位循环左移?(转)

like821080

  • 帖子

    728
  • 精华

    0
  • 被关注

    7

论坛等级:侠圣

注册时间:2008-09-05

普通 普通 如何晋级?

发布于 2011-04-09 13:14:59

24楼

A I 0.0 //当i0.0触发有上升沿的时候
FN M 1.0
JCN _001
OPN DB 20 //打开DB 20
L P#0.0 //初始读指针
LAR1
L P#25.0 //初始写指针
LAR2
L 200 // 200个字的循环计数为初值

M001: T MB 10 //计数值送入MB10
A DBX [AR1,P#0.0] //按读指针指示的地址读
= DBX [AR2,P#0.0] //按写指针指示的地址写数据
+AR1 P#0.1 //读指针指向下一数据地址
+AR2 P#0.1 //写指针指向下一数据地址
L MB 10 //取循环计数值
LOOP M001 //结束循环
L P#0.0 //初始读指针
LAR1
L P#49.7 //初始写指针(
LAR2
A DBX [AR2,P#0.0] //把DB20.DBX3.4传送到DB20.DBX0.0
= DBX [AR1,P#0.0]
L P#0.0 //初始读指针
LAR1
L P#25.0 //初始写指针(
LAR2
L 199 //199个字的循环计数为初值

M002: T MB 20 //计数值送入MB20
A DBX [AR2,P#0.0] //按读指针指示的地址读数据
= DBX [AR1,P#0.1] //按写指针指示的地址写数据
+AR1 P#0.1 //读指针指向下一数据地址
+AR2 P#0.1 //写指针指向下一数据地址
L MB 20 //取循环计数值
LOOP M002
_001: NOP 0
这个能实现200位的移动,已经测试过了
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54652条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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