История изменений
Исправление firkax, (текущая версия) :
Полностью кросс-ОС способ на любом компе начиная с IBM PC/AT (80286 проц) и дальше по линейке.
#include <sys/io.h>
int main(void) {
iopl(3);
outb(0xFE, 0x64);
return 0;
}
Теоретически может сработать не с первого раза (спецификация порта 0x64 позволяет ему быть «занятым» и не принимающим данные, для проверки занятости надо опрашивать ещё один порт в цикле и ждать в нём какой-то бит), но на практике ни разу такого не случалось, по крайней мере с железом, выпущенным позже 1990 года.
Исходная версия firkax, :
#include <sys/io.h>
int main(void) {
iopl(3);
outb(0xFE, 0x64);
return 0;
}
Теоретически может сработать не с первого раза (спецификация порта 0x64 позволяет ему быть «занятым» и не принимающим данные, для проверки занятости надо опрашивать ещё один порт в цикле и ждать в нём какой-то бит), но на практике ни разу такого не случалось, по крайней мере с железом, выпущенным позже 1990 года.