Есть знакомые с ассемблером 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 (2017)