Gast
#178003
Hallo Experten, mit der Multiplikation habe ich so meine Sorgen. Im Anhang befinden sich 4 Dateien, in denen nur ein Wert mit einer Konstanten multipliziert wird. In mul1_xxx.lst wird die Konstante in einer temporären Variablen zwischengelagert und die Multiplikation läuft so, wie gewünscht. In mul2_xxx.lst wird direkt mit der Konstante multipliziert. Trotz Casting auf unsigned int rechnet der MSPGCC mit negativen Werten. Bei der Programmausführung von mul2_180 bleibt die Zeile 14: c2 43 39 01 mov.b #0, &0x0139 ;r3 As==00 ohne Wirkung, da schon vorher 0x0139 mit einem Word-Befehl beschrieben worden ist. Den MSPGCC rufe ich mit folgenden Parametern auf: -x c -c -g -O2 -Wall -mmcu=msp430x147 Kann mir jemand das unterschiedliche Verhalten von mul1_xxx und mul2_xxx erklären? Viele Grüße von Marcus