有什么方法把台达D**寄存器的低8位变0,高8位数据不变 点击:1324 | 回复:7



张智勇

    
  • 精华:13帖
  • 求助:4帖
  • 帖子:344帖 | 4142回
  • 年度积分:0
  • 历史总积分:4044
  • 注册:2004年8月21日
发表于:2008-10-16 15:20:38
楼主

如题所示,

我用WAND指令

WAND??? D100??? H1100??? D101

可结果D101老是为0,D100数据是H603




yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2008-10-16 15:37:36
1楼

当然使用逻辑与指令了。

?

如果要高8位,那么就与HFF00进行逻辑与,如果要低8位,那么就与HFF进行逻辑与。

以上~~

张智勇

  • 精华:13帖
  • 求助:4帖
  • 帖子:344帖 | 4142回
  • 年度积分:0
  • 历史总积分:4044
  • 注册:2004年8月21日
发表于:2008-10-16 15:48:40
2楼

我就是要保留高8位,用逻辑与(AND)运算

M1000??? WAND?? H603??? H1100????? D0

结果应该=H600,可结果D0=0

不知道什么原因

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2008-10-16 15:52:34
3楼

先前的帖子我已经说明了,要保留高8位,需要与HFF00做逻辑与,而您与H1100,H1100转换为二进制为0001000100000000,而H603转换为二进制为0000011000000011,自己拿纸计算一下,结果必然为零~~

因此:原因就是您编写有误~

?

以上~~

?

张智勇

  • 精华:13帖
  • 求助:4帖
  • 帖子:344帖 | 4142回
  • 年度积分:0
  • 历史总积分:4044
  • 注册:2004年8月21日
发表于:2008-10-16 15:56:26
4楼

哦,应该是HFF00

我把II00当成FF00了

谢谢 yuanle

错了再来一次

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 36回
  • 年度积分:1
  • 历史总积分:49
  • 注册:2007年9月12日
发表于:2008-10-19 11:55:56
5楼

都是高人!佩服哦

?

通讯网

  • 精华:11帖
  • 求助:1帖
  • 帖子:431帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2008-10-19 12:40:55
6楼
H1100? I 服了YOU了!

张智勇

  • 精华:13帖
  • 求助:4帖
  • 帖子:344帖 | 4142回
  • 年度积分:0
  • 历史总积分:4044
  • 注册:2004年8月21日
发表于:2008-10-20 06:56:22
7楼

以前没有有过通讯,人家正在学嘛

那能够象你们这些大鸟,做的多了什么都熟悉,水到渠成


热门招聘
相关主题

官方公众号

智造工程师