-1
У меня есть проблема, какой набор команд мне нужно использовать, когда я использую неоптимизированные инструкции о том, что компилятор велик.Проблема с набором инструкций сборки
Я это пустое функцию:
void feed(void)
{
IWDG_ReloadCounter();
}
Вот инструкции.
//PUSH REGISTER ONTO STACK
push {r7}
//ADD
add r7, sp, #0
//???
mov.w r3, #12288
//MOVE TOP
movt r3, #16384
//MOVE 16-BIT CONSTANT
movw r2, #43690
//STORE REGISTER WORD
str r2, [r3, #0]
//MOVE
mov sp, r7
//POP REGISTER FROM STACK
pop {r7}
//BRANCH INDIRECT
bx lr
Может понять, какой из них использовать. У каждого есть некоторые слова мудрости.
Что вы пытаетесь достичь здесь? Компилятор сгенерировал 9 инструкций. Даже если предположить, что вы можете улучшить это, улучшение будет незаметным, если вы не будете запускать код непрерывно в течение нескольких недель. –
То, что я пытаюсь сделать, это заставить это работать, потому что это не так. IWDG_ReloadCounter должен кормить сторожевой таймер, чтобы система не перезапускалась. И когда я пытаюсь использовать сгенерированную сборку для этой функции, ничего не происходит. Это пустота, поэтому мне не нужна вещь о стеке, поэтому из них больше, чем те, которые нажимают на стек и поп, я должен удалить. – mogren3000
Тогда вам нужно изменить свой вопрос. Не совсем ясно, какова ваша цель, и не хватает информации, чтобы помочь диагностировать. –