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