DMOV赋值1总是不成功?总是131073,为什么会是这样? 点击:771 | 回复:9



sheepdog79

    
发表于:2012-05-17 20:06:04
楼主

赋初值“1” 无论是K1还是H1都不成功,但是 赋值“2”就没有问题。



楼主最近还看过



蓝天月亮

  • 精华:0帖
  • 求助:0帖
  • 帖子:38帖 | 1447回
  • 年度积分:0
  • 历史总积分:3584
  • 注册:2007年10月22日
发表于:2012-05-17 20:55:03
1楼

DMOV是双字,所以应该是DMOV H1 D2 ,下一个是DMOV H2 D4,

kskstiy

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 379回
  • 年度积分:0
  • 历史总积分:2649
  • 注册:2010年8月30日
发表于:2012-05-17 21:02:13
2楼

DMOV 是32位指令,DOMV H1 D2的话,D2变成32位数据了,自动占用低16位D2和高16位D3,其中D2=1,D3=0

DOMV H2 D3,占用D3,D4,其中低位D3=2,D4=0

重复占用D3,D3相当于第一条的话变成高位=2,也就是2的17次方+D2的内容1=131073

建议加强基本功

sheepdog79

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 11回
  • 年度积分:0
  • 历史总积分:71
  • 注册:2017年4月11日
发表于:2012-05-17 21:58:30
3楼
引用 蓝天月亮 的回复内容: DMOV是双字,所以应该是DMOV H1 D2 ,下一个是DMOV H2 D4,


谢谢您的回复

zxmsjj

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 455回
  • 年度积分:0
  • 历史总积分:4054
  • 注册:2009年5月26日
发表于:2012-05-17 23:48:02
4楼

DMOV是双字,所以应该是DMOV H1 D2 ,下一个是DMOV H2 D4,

莫其麟

  • 精华:14帖
  • 求助:0帖
  • 帖子:125帖 | 5688回
  • 年度积分:0
  • 历史总积分:29157
  • 注册:2004年2月27日
发表于:2012-05-18 07:19:04
5楼

嗯,D3被重复使用了。

duxy163

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 16回
  • 年度积分:0
  • 历史总积分:38
  • 注册:2006年2月05日
发表于:2012-05-28 03:34:56
6楼

大家讲的都对,但对于初学者,0楼讲的最透彻,支持

阿水--王者之师

  • 精华:31帖
  • 求助:399帖
  • 帖子:1801帖 | 22295回
  • 年度积分:2
  • 历史总积分:98539
  • 注册:2007年3月22日
发表于:2012-05-28 14:31:00
7楼
    不错的说,这些回答对于我们这些初学都很有帮助,主要是对 双字 及 字,字节,位  的数据长度各是多少

xiaoxiaoliao

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 28回
  • 年度积分:0
  • 历史总积分:217
  • 注册:2011年9月14日
发表于:2012-05-30 07:08:29
8楼

谢谢,,正在学习中。。。

ljbcompany

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 1289回
  • 年度积分:0
  • 历史总积分:5847
  • 注册:2011年4月24日
发表于:2012-06-01 11:14:12
9楼
编程前,最好把寄存器事先排一下;免得重复使用。此外,软件里的查找功能,不能有效寻出双字里的高16位!
SSI ļʱ