Всем привет и с прошедшими праздниками. Сказать по-честному - я совсем зеленый в ассемблере, но с первого знакомства он почему-то мне очень понравился..но это так - вступление...Если кто-нибудь решал эту задачу посоветуйте или помогите добрым словом (или кодом), как делить и умножать сдвигом на степень 2 я уже разобрался, а вот дальше пока не получается...Спасибо за внимание.
А что дальше ? Если речь идет о быстром умножении и делении на константы, то 1) Для умножения используются комбинации инструкций lea,shl,add\sub. Рекомендуемые варианты для констант 2..32 приведены например в манулах по оптимизации AMD Athlon и Athlon 64. Некоторые варианты для других чисел см. тут. Нужно иметь в виду, что умножение достаточно быстрая операция, поэтому заменять ее более чем двумя-тремя инструкциями обычно смысла не имеет. 2) Для целочисленного деления на констатнту можно использовать комбинацию умножения и сдвига a/b=a*k/2^n. Подробнее см. в мануалах по оптимизации AMD или pentopt.pdf А.Фога