工控的鱼
级别: 略有小成
精华主题: 0
发帖数量: 87 个
工控威望: 217 点
下载积分: 659 分
在线时间: 92(小时)
注册时间: 2008-04-22
最后登录: 2014-07-30
查看工控的鱼的 主题 / 回贴
楼主  发表于: 2009-02-16 23:11
我想将可以变化DM100的内容,用移位指令分别用DM1000--DM1100记录最近10次的变化内容,用了WSFT都不行,请问如何写程序,我用的是CPM2AH,假如用1800触发DM1000--DM1100,求助
  
wsqjs
充耳不闻
级别: 略有小成
精华主题: 0
发帖数量: 148 个
工控威望: 224 点
下载积分: 1843 分
在线时间: 23(小时)
注册时间: 2008-10-26
最后登录: 2024-09-21
查看wsqjs的 主题 / 回贴
1楼  发表于: 2009-02-17 12:47
CPM2AH沒有這種命令的。

用變址,大概如下:
mov  #1000 D0   (保存區首字地址)
LD 1800
DIFU 1801
LD 1801
mov D100 *D0      (將D100傳送給D1000)
INC D0                  ( 生成D1001)
LD P_on                (常通)
cmp D0 #1009
LD P_GT               (D0>1009)
mov  #1000 D0   (保存區首字地址)

可以保證D1000~D1009保存的是最新的10個數據
充耳不闻
wsqjs
充耳不闻
级别: 略有小成
精华主题: 0
发帖数量: 148 个
工控威望: 224 点
下载积分: 1843 分
在线时间: 23(小时)
注册时间: 2008-10-26
最后登录: 2024-09-21
查看wsqjs的 主题 / 回贴
2楼  发表于: 2009-02-18 11:29
不一定要用D0,自己找一個就行

可以使用mov D100 *D0


附件,CPM1A也可以,CPM2AH更行了
充耳不闻
wsqjs
充耳不闻
级别: 略有小成
精华主题: 0
发帖数量: 148 个
工控威望: 224 点
下载积分: 1843 分
在线时间: 23(小时)
注册时间: 2008-10-26
最后登录: 2024-09-21
查看wsqjs的 主题 / 回贴
3楼  发表于: 2009-02-18 11:36
不一定要用D0

能使用mov D100 *D0 这样格式

注意:INC是BCD加一也就是十進制加一,#1000是十六進制,&1000是十進制的1000,
所以是mov &1000 D0,
試一下,在綫監控就知道了。
充耳不闻