PDA

Просмотр полной версии : Баналная проблема



DoDo
31.08.2004, 09:47
PROGRAM exampl_1;

BEGIN
writeln('DoDo');
END.

компилирую в My_first.exe
открываю а он вылетает сразу же.

AiK
31.08.2004, 13:00
PROGRAM exampl_1;

BEGIN
writeln('DoDo');
readln;
END.

Romeo
31.08.2004, 13:44
Или readkey :)

Naeel Maqsudov
01.09.2004, 09:16
С readkey проблема.
Как только будет добавлен в uses модуль Crt (а readkey находится именно там), то программа начнет вылетать с ошибкой "Деление на 0" на быстрых машинах. Дело в том, что в разделе инициализации в модуле Crt присутствует вычисление размера счетчика для пустого цикла (для выполнения оператора Delay). Там за 1 тик таймера накапливается значение в делителе, на который делится некая коонстанта. На быстрых машинах за 1 тик таймера этот делитель переполняется.

Рулин
14.09.2004, 20:33
Crt модуль можно выправить, заменив пару строчек кода на NOP.
Заменять надо в строке B9 37 00 F7 F1 последние два байта на 90 90
Также лечутся и готовые программы под DOS, где вылет с ошибкой 200 сплошь и рядом.