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