Задать вопрос
@tosi_kk
11010111

Что значит этот код?

Объясните пожалуйста, что значит данный код на ассемблере и какая между ними разница
ubfx r0, r0, #1, #1
bx lr

и
ubfx r0, r0, #2, #1
bx lr


+

При изменении первой строки первого фрагмента кода на
mov r0, #0
значение меняется на 0 - то что мне и нужно.
Но если проделать тоже с другим фрагментом кода, ничего не меняется.

• Объясните пожалуйста, что значит код ?
• И что я делаю не так ?
  • Вопрос задан
  • 211 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
что значит код

ubfx r0, r0, #1, #1 -- извлечь битовое поле шириной 1 бит (правая единица) начиная с бита №1 (левая единица) из регистра r0 (правый r0) и поместить результат в r0 (левый r0).
bx lr -- перейти по адресу в регистре lr, обычно это возврат из подпрограммы.
Семантика опкодов легко гуглится по названию опкода и названию архитектуры процессора.

какая между ними разница

ubfx r0, r0, #1, #1
ubfx r0, r0, #2, #1
теперь, когда ты знаешь, что это за опкод, ты можешь понять сам, что они извлекают битовое поле начиная с разных битовых позиций.

что я делаю не так

ты не написал, что конкретно ты делаешь: что и где меняешь и как проверяешь результат.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы