享受生活
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看享受生活的 主题 / 回贴
楼主  发表于: 2009-05-15 21:35
各位师傅:
下面的程序中D0和D2下面的数字是怎么得出的,谢谢哦!
(MOVP K2 D0)
(MOVP K4 D1)
(DMOV D0 D2)
程序第三行D0和D2下面分别出现了:262146
请问是怎么出来的,
hemingzhuo
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看hemingzhuo的 主题 / 回贴
1楼  发表于: 2009-05-17 01:27
   D0=K2;D1=K4;
用了DMOV指令后,为把(D1  D0)整体传送至(D3  D2);-----正确

那么把(D1  D0)用2进制表示或16进制表示(H00040002),这个数是最终达到(D3  D2)并在监控时显示出来的数值。
可以得出H00040002=K262146=======》》》最终显示的这个数值。
-----------有误应更正为,  DMOV 是32位指令,执行后目标值中前16为是D1的值,后16为是D0的值,即为(100  0000 0000 0000 0010 )2;因为软件现示的是十进制的值,所以(100  0000 0000 0000 0010 )2对应的十进制是k262146