Код, мягко говоря, не соответствует комментариям. Замените R0 на PC и выбросьте bx. Зачем им восстанавливать режим (^), честно говоря, не понимаю. Стек переключить, разве что.
Все может, правда, обломаться, если они в thumb'е работают. А компилятор правильно ругается: ldmia sp!, {r0}^ в общем случае не есть гуд. Возможно эта ошибка где-то отключается.
|