Продолжим.
Скрипт 3.1. имеет ограничение - мы можем замедлить таймер только в 2 раза, в 3, в 4 и т.д.
Т.е. можем использовать только целые (Integer) числа.
А что, если пользователю нужно замедлить таймер в полтора раза, в 2.5, в 8,5 и т.д. В этом случае скрипт 3.1. нам не поможет, придётся переписать его.
В работе с нецелыми числами (дробными, вещественными, числами с плавающей точкой - короче FLOAT) нам поможет математический сопроцессор, т.е. FPU.
Для изучения вопроса наберите например работа с вещественными числами в поисковике. Лично мне понравилась вот эта статья
часто к ней обращаюсь, если пишу что-нибудь для дробных чисел.
Как разберётесь не много, то уже задавайте более конкретный вопрос поисковику - например ассемблер fadd.
Выложу написанный скрипт, как всегда, для понимания - что он делает, прочтите комментарии внутри скрипта.
То, что уже комментировал раньше в скрипте не стал комментировать. Закомментировал, только что делают новые опкоды:
FLD1, FDIV, FADD, FSTP и FSUBR.
3.2. Вариант с делением шага игрового таймера:
пример скрипт "Timer Mission v. timer slowdown v. division step of the game timer".
Скрипт 3.2. более универсальный подойдёт как для целых, так и для не целых значений.
На видео показана работа скрипта и половина видео посвящена, как отслеживать онлайн значения регистров FPU.
Видео:
Ну и табличка с 6 скриптами и нужными адресами:
Ниже залита табличка со всеми скриптами этой темы.