Hallo, ich hab ein Problem mit dem C51-Compiler aus uVision. Folgendes Programm
1 | void main() |
2 | {
|
3 | int i = (int) (60 / 61 * 1000); |
4 | }
|
kompiliert der zu diesem ASM-Code:
1 | CLR A ;Akku löschen |
2 | MOV 0x08,A ;int-Variable mit leerem Akku befüllen. |
3 | MOV 0x09,A |
Als Ergebnis müsste eigentlich 983 rauskommen. Selbst mit einer printf-Anweisung optimiert mir der Compiler das alles weg. Kann mir jemand sagen warum er das macht?