Другие языки программирования и технологии

вопрос по турбо паскалю

почему, начиная с процессоров intel pentium 3, при подключении модуля crt, турбо паскаль выдает ошибку деления на ноль (division by zero)?
это можно как-нибудь победить?
Поищи в инете патченный модуль CRT.TPU
Проблема в некорректном вычислении задержки для процедуры Delay в процедуре инициализации модуля (которая выполняется в самом начале запуска использующей этот модуль программы).
Самый Добрый.
Самый Добрый.
40 192
из за оптимизации "пустых циклов". получается что проц оптимизирует цикл и он выполняется 0.0000 секунды: ) воевать насколько я понимаю либо поискать модуль crt, либо поискать патчер (он заменяет эти циклы на что то другое уже в компиленном ехе-шнике)

зы. а борланд пасквиль работает (горюшко дуо 2ГГц; )

ps... Улыбнулся. Да пасквилю по%рену на габариты ворда. 65536+1 он или проигнорит или скажет Overflow а никак не division by zero.
тут четко - ДЕЛЕНИЕ НА НОЛЬ. ОНО И ВОЗНИКАЕТ отсюда:
цикл loop выполняется столько раз скока лежит в регистре. а проц с конвейером СМОТРИТ.. . ОПА! а цикл то пустой И НЕ ВЫПОЛНЯЕТ ЕГО. соответственно разница в значении таймера до и после выполнения цикла=0 (задержки то не было) и при попытке вывести кф быстродействия машины он на етот ПОЛУЧЕННЫЙ ноль и делит. патчер (ток что посмотрел патчер - он ищет в ехе-шнике это: 90 E2 FE, перевожу
0001: 90 nop - нету операции (бессмыслица)
0002: E2FE loop 0001 - повторяй бессмыслицу пока в регистре cx не ноль.
купить новый проц
Балакирев Дима у меня E4500. Проверено на многих процессорах. Ошибка - факт.
может гдето ошибку допускайте
Степан Ш
Степан Ш
3 975