Код: Выделить всё
0xED94 0x0B02 VLDR D0,[R4, #+8][/uquote]В стеке данные нормальные. Я это сразу проверил (поэтому там присутствует m[8] и memset()). Кроме того - если параметр один (типа double), то он вообще через регистры передаётся, а не через стек. В примере два сделал для того, чтобы поверить оба вида передачи.
[uquote="VladislavS",url="/forum/viewtopic.php?p=4180802#p4180802"]Я вот стек руками не двигаю от слов совсем никогда.[/uquote]Я тоже не двигаю. Но если размер стека для задачи указать (случайно) не кратный 8, то дальше он везде пойдёт невыровненный.
[quote="Eddy_Em"]Даже с оптимизацией -O3 он пишет именно так вместо bic.w r2, r2, 0xc3c00000[/quote]Затем, что иначе ему пришлось бы добавлять команду LDR. А это дороже и по размеру и по тактам.
Компилятор знает систему команд CPU. В отличие от вас. :dont_know:

