И еще...
Ассемблерный код выше - для примера только
Вы можете заметить,что оптимальнее было бы:
str r3,[r1]
str r4,[r2]
Тогда я напишу этот пример по-другому:
ldr r0, =(1<<5) ;-- 1я константа
str r0,[r1]
ldr r0, =(1<<6) | (3<<16) ;-- 2я константа
str r0,[r2]
Компилятор:
ldr r0,=(1<<5) ;-- 1я константа(и ecли 2я константа такая же)
str r0,[r1]
str r0,[r2]