Что яже сделалздесь изменено? Сначала я переписалРекурсия рекурсиюпереписана в виде цикла. ПотомКадр я увидел, что мнестека больше не нужен кадр стека, так как яв нестек вызываюничего другихне функцийперемещается и ничегодругие функции не помещаю в стеквызываются. ПоэтомуПролог яи убралэпилог прологпоэтому и эпилогубраны, при этом регистр <code>%ebp</code> я не используюиспользуется вообще. ЕслиНо если бы яон его использовалиспользовался, сначала я долженнужно былбыло бы сохранить его значение, а перед возвратом восстановить.
ВАвтор результатеувлёкся япроцессом таки увлекся, что решил написатьнаписал 64-битную версию этой функции. Она возвращает результат в паре <code>%eax:%edx</code> и может вычислить <math>20! = 2432902008176640000</math>.
<pre>
Строка 1892:
</pre>
Нам нужно умножитьУмножение 64-битноебитного числочисла на 32-битное. Мы будем этоделатьделается как при умножении «в столбик»: