Shift вправо и добавить в одну команду

Я изучаю язык ассемблера для ARM Cortex, и у меня есть следующая проблема:

Запишите одну строку инструкции по сборке для следующего вычисления: примените арифметическое смещение вправо к содержимому R2, затем добавьте содержимое R1 и R2 и сохраните результат в R0.

Я понимаю арифметическое смещение вправо как:

ASR R0, R2, #9

И сделать дополнение просто:

ADD R0, R1, R2

Но я не уверен, как объединить их в одну команду. До сих пор я придумал следующее из примера, который я видел, который выглядел так, как будто они выполняли две команды в одной строке аналогичным образом:

ASR R0, R2, #9, [ADD R1, R2]

Я знаю, что это, вероятно, неправильно, так может кто-нибудь объяснить мне, как это должно быть сделано?

1 ответ

Решение

Похоже, вы сейчас на правильном пути.

add rd, rn, rm, asr #n
Другие вопросы по тегам