У меня есть программа на C, которая работает на голом x86 (без ОС) в защищенном режиме. Мне нужно отложить выполнение программы на определенное время. В настоящее время я делаю это:
for(p=0; p<1000000; ++p) asm("pause");
Но это выглядит очень-очень неправильно (я получаю задержку, но, видимо, у меня нет реального контроля над ее продолжительностью: длина «паузы» не определена).
Теперь я не очень разбираюсь в вещах на таком низком уровне, и я искал в сети решения, но пока единственное, что я обнаружил, это прерывания BIOS, которые не работают в pmode ( или мне так сказали).
Итак, как мне отложить выполнение в защищенном режиме?