Gast
#566600
ich habe ein Problem mit meinem Code zum Byte Array schieben. Das rotieren in asm funktionierte eigentlich, die Routine wurde nacheinander für 10 Zeilen aufgerufen. Erst mit Konstanten, dann habe ich es ordentlicher mit einer Schleife gemacht. Dann noch die Compiler Optimierung (-Os) an und schon funktioniert es nicht mehr, es sieht aus als wird r doppelt inkrementiert in for(r=...) Wenn ich die Laufvariable r volatile deklariere ist es wieder ok. Meine Vermutung ist das im asm Teil was faul ist. In der clobberlist ist nur "memory" drin, wie sage ich dem Compiler das ich den Pointer "e" verbiege? "e" ist ja nur eine Speicherklasse, in der clobberlist wird das nicht akzeptiert. Muss man "e" selber retten und restaurieren?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |