ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Среда
12 августа
/903056
Топик полностью
Хаос (11.02.2019 13:04, просмотров: 1) в ответ на Компилятор IAR не сдвигает влево больше чем на 32 бита и никто его не рвется править. - автор: VLLV
Вопрос не в "больше чем 32 бита", а вопрос в "равно 32-м битам". Допустим, при сдвиге на 32 бита в регистре нормального процессора должен оказаться нуль. У Intel'а при сдвиге в регистре оказывается "хрен знает что" и в результате алгоритм не работает. В итоге пришлось переписать алгоритм и перед сдвигом сначала проверять аргумент на равенство величины сдвига 32-м битам. Это неэффективно, так как сама проверка приводит к лишним операциям и замедлению алгоритма.
Ответы