| 作者 | 主题 |
|---|---|
|
用以致学 侠客 经验值:822 发帖数:112 精华帖:0 |
楼主
主题:请教S7300 怎样用STL 编写先进先出的程序?
要实现 DB1.DBW6 传送到DBW8,DBW4 数据传送到DBW6 。。。先进先出
OPN DB 1 LAR1 P#6.0 L 4 NEXT: T LW 0 L DBW [AR1,P#0.0] T DBW [AR1,P#2.0] LAR1 L P#2.0 -D TAR1 L LW 0 LOOP NEXT 上面的程序,运行时会报错,请教应该怎么改? |
|
emil128 侠圣 经验值:3827 发帖数:271 精华帖:10 |
8楼
主题:回复:请教S7300 怎样用STL 编写先进先出的程序?
Z版说用BLOCK_MOVE,可没说只用一个
源与目标区域不能交叉,给个缓存区不就解决了? dbw0-dbw8的5个字整块移动到dbw12-dbw20,然后dbw12-dbw20的5个字整块移动到dbw2-dbw10,后面再写新值到dbw0里。 多简单。 P.S.要用循环来编写FIFO,最大的意义在于连队列长度也可以留个管脚,改起来方便。如果队列长度固定,那么BLOCK_MOVE就是了。 |