At 22:19 2003-1-10 +0100, you wrote:
Could you show the lines of code? The first one is doing a signed 32-bit multiplication, while the second is doing a signed 16-bit multiplication. Is it possible that with one line order, you've got a long temporary result that's affecting the multiplication?I just observed very strange thing.By changing the source line order the same source line (multiplication) is translated either into movea.w d4,a0 move.l a0,86(a7) move.l a0,d0 move.l #-1730,d1 jsr __lmul__ move.l d0,d3 or into move.w d6,d3 muls.w #-1730,d3 The second alternative seems to be optically shorter, but it actually uses register value inherited from the previous code. That's OK. What I don't understand is that in one case the multiplication is realized via muls instruction, in the other a call to the emulator is used instead.
--
Ben Combee <[EMAIL PROTECTED]>
CodeWarrior for Palm OS technical lead
Palm OS programming help @ www.palmoswerks.com
--
For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
