История изменений
Исправление
qrck,
(текущая версия)
:
ЗЫ не помню откуда у меня в голове страшные цифры про 50 тактов, да,286ой так за 22 такта регистры и за 25 память делит, но можно крутануть рычаг машины времени чуть сильнее, 8086ой - 170-190 тактов на div с одним из операндов расположенным в памяти. Я не знаю сколько точно делений и умножений потребуется на деление 128 бит не BCD числа в столбик на 16 битное число (10), но явно дофига, мои мозги говорят что штук 8 минимум 16ти битных делений, раза в 2 больше 16 битных умножений, итого - порядка 2000 тактов что-бы поделить 128-ти битный integer на 10 один раз, эту операцию надо проделать раз 20, что-бы отобразить все цифры числа, итого - 40k тактов. Если чисел на экране штук 20(вполне нормальная ситуация для финансового приложения), выходит под 800k тактов только на перевод чисел в человеческое представление. Тактовая частота первых 8086 была что-то на уровне 4 MHz, т.е. на обсчет чисел, без их отображения, уже уходило бы по 0.2 секунды.
Исходная версия
qrck,
:
ЗЫ не помню откуда у меня в голове страшные цифры про 50 тактов, да,286ой так за 22 такта регистры и за 25 память делит, но можно крутануть рычаг машины времени чуть сильнее, 8086ой - 170-190 тактов на div с одним из операндов расположенным в памяти. Я не знаю сколько точно делений и умножений потребуется на деление 128 бит в столбик на 8/16 бит, но явно дофига, мо мозги говорят что штук 8 минимум 16ти битных делений, раза в 2 больше 16 битных умножений, итого - порядка 2000 тактов что-бы поделить 128-ти битный integer на 10 один раз, эту операцию надо проделать раз 20, что-бы отобразить все цифры числа, итого - 40k тактов. Если чисел на экране штук 20(вполне нормальная ситуация для финансового приложения), выходит под 800k тактов только на перевод чисел в человеческое представление. Тактовая частота первых 8086 была что-то на уровне 4 MHz, т.е. на обсчет чисел, без их отображения, уже уходило бы по 0.2 секунды.