gpp0603
静水无为
级别: 略有小成
精华主题: 0
发帖数量: 253 个
工控威望: 329 点
下载积分: 10140 分
在线时间: 213(小时)
注册时间: 2009-11-12
最后登录: 2024-11-26
查看gpp0603的 主题 / 回贴
楼主  发表于: 2013-03-28 07:13
MOV  K8192 D0
MOV  K4         D1
MUL D0    D1    D2
SUB  D2   K1    D10
DIV    D10  K4   D12

监视发现到D2值是—32768  D12的值是0,是否运算错误,还是值超出范围
请高手帮忙解释一下,期待你的回复。
ymr78419972
宿命的轮回注定了要让我们去追逐那些难以企及却又十分向往的美丽
级别: 工控侠客
精华主题: 0
发帖数量: 588 个
工控威望: 2719 点
下载积分: 16620 分
在线时间: 270(小时)
注册时间: 2009-05-10
最后登录: 2024-11-16
查看ymr78419972的 主题 / 回贴
1楼  发表于: 2013-03-29 08:55
两D相MUL,那存结果一定是32位的,D1,D2全都是16位的啊,所以:
DMOV  K8192  D0 (D1被占用)
DMOV  K4         D2(D3被占用)
DMUL D0    D2    D4 (D5被占用)
DSUB  D4   K1    D10 (D11被占用)
DDIV    D10  K4   D12 (D13被占用)
8192*4 = 32768 D16位的最大值是32767
山河今仍在,壮志在何方?