发表于:2014/1/13 22:30:07
#0楼
32位的整数相乘,结果是64位。
如图,DMUL D4602 K4 D4642,结果占D4642-D4645,看图上的数据,这个时候D4644,D4645为0,上面的D4644,D4645监控结果是为0,但是D2084怎么还有数值呢???
别的地方没有占用D2084和D2085。
如果把9008步右边的程序,和9049步右边的程序调一下顺序,
就和9090右边的与9131右边的程序一样,监控时都有结果了。
结果数据没超过32767,用16相乘最好了,免的被别的地方占用,不过这个程序一直没出现什么问题,就这样了,
之前我改过一次,都改过来了,数据超过32767的就那么一两个,用别的寄存器空出64位来,转存了一下。
小日本没时间来检查我的程序,就用我同事的,不过他的程序一团糟,当时检查问题多的,不说了。
就那个问题请教一下?????