Есть знакомые с ассемблером ARM? Почему в режиме адресации 1 (addresseing mode 1) у инструкции LSR такое разное поведение при нулевом смещении при указании константы и регистра? Почему в одном случак shifter_operand = Rm, а в другом 0? В той-же инструкции LSL все в порядке. ------- <Rm>, LSR #<shift_imm> if shift_imm == 0 then shifter_operand = 0 // ??????? shifter_carry_out = Rm[31] else /* shift_imm > 0 */ shifter_operand = Rm Logical_Shift_Right shift_imm shifter_carry_out = Rm[shift_imm - 1] ---------- <Rm>, LSR <Rs> if Rs[7:0] == 0 then shifter_operand = Rm // ??????? shifter_carry_out = C Flag else if Rs[7:0] < 32 then shifter_operand = Rm Logical_Shift_Right Rs[7:0] shifter_carry_out = Rm[Rs[7:0] - 1] else if Rs[7:0] == 32 then shifter_operand = 0 shifter_carry_out = Rm[31] else /* Rs[7:0] > 32 */ shifter_operand = 0 shifter_carry_out = 0 --------
Ответ на:
комментарий
от vasirck
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Статьи Осваиваем STM32 снизу: часть 2 - пишем простейшую прошивку (2023)
- Галерея ARM для arm (2019)
- Форум Поясните за LSR RAID10 на 2х дисках (2016)
- Форум ARM (2004)
- Форум [ARM] 100-ядерный ARM (2012)
- Форум [ARM][вброс] Фанатам ARM (2010)
- Статьи Осваиваем STM32 снизу: часть 1 - подключаем и исследуем плату (2023)
- Форум Проблемы со звуком на MSI K7N2 -DELTA LSR (2004)
- Форум Китай отжал ARM у ARM (2021)
- Форум ARM Chromebook (2015)