Да это просто :-) Длина команды thumb2 - 16 бит или 32. 32-битная константа напрямую в эту команду не влезает (нужно же место под код самой команды). Можно положить константу рядом, и ссылаться на неё (что-то вроде LDR r0, [pc, #смещение-до константы]); компилятор так и делает. Но руками проще загрузить в регистр за два раза, благо у кортексов команда MOVT сделана, похоже, специально для этого.
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|