不用图片了...大哥是你一个地方没选对...MUL是16位操作最大输入4个9(9999),DMUL是32位操作最大输入8个9(999999999).如果用MUL你算小一点的数应该没问题的,D20XD14小于32767就没问题...你只要看下图就不会有负数了... 加你QQ了...
不用看到图片也知道你的错误在哪儿了:
MUL D20 D14 D22这个是16位的数据计算指令。
你的D20和D14中的值太大了,两者相乘后的数值大于了32767,故而为显示为负的。
当改为DMUL D20 D14 D22的时候就变为32位数据了,故而显示正常了。
如果以后数据运算后,结果是很大的话(结果大于32767),则要有32位的计算方式。
没有看到图片
无图片。