До речі, цікава історія в тему, може, хто знає, а решті точно буде цікаво - тут і про те, як не треба писати програми, і по зневадження.
Був колись (а подекуди і зараз використовується) такий собі Turbo Pascal 7.0, під MS DOS. Остання його версія вийшла чи то в 1994, чи то в 1995 році - коли найпотужніші процесори ледве-ледве витягали 150-200МГц, а поширені були частоти в 20-60МГц (ага, і 4МБ пам'яті, з яких нормально доступно було менш ніж 600КБ - уявіть собі, так можна було жити). І от раптом з'ясувалося, що всі програми, написані на TP7, падають на нових процесорах з повідомленням "помилка 200" (формально "ділення на 0", але випадало і при інших проблемах). Пам'ятаю, який це був жах, коли на щойно придбаній системі не запускалися старі власні програми - це був десь так рік 1999-й, коли я це побачив...
А проблема була в тому, що модуль CRT мав кілька власних функцій для роботи з часом; і для нормальної роботи йому треба було знати, як системний час співвідноситься з частотою процесора. Сучасні системи можуть таке просто повідомити, але тоді найпростіший спосіб дізнатися щось про залізо був перевірити самому. І там була перевірка - скільки тактів встигне прокрутити процесор за певний час (один тік RTC чи щось таке); але система була 16-бітна, і на швидких комп'ютерах за цей час переповнювався 16-бітний лічильник, що й викликало збій навіть на програмі
Зараз всі копії TP7 в мережі вже пропатчені, але певні висновки з цього зробити можна.