Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
если у тя вся машина в твоем распоряжении то да
а если тебе выделило какойто время некоторая многозадачная ОС то уже не совсем...
Автор исходной программы не использовал такую ось.

А вообще в многозадачных осях пользовательскому коду строго запрещено разрешать или запрещать прерывания. В процессорах с MPU инструкции вроде DI или CLI являются привилегированными, так что этот запрет реализуется принудительно. При написании драйверов принудительного ограничения нет, но все равно надо следовать документации на ось, иначе драйвер будет глючным.

Если автор драйвера считает необходимым нарушить запрет на изменение состояния прерываний - то лучше ему подумать еще раз, а надо ли. Зачем это может быть надо? Варианта два:
1) блокировка многопоточного доступа к данным. Вместо запрещения прерываний следует пользоваться функциями блокировки, предоставляемыми осью, например, KeAcquireSpinLock в случае винды;
2) обеспечение исполнения критичного по времени кода. Снова-таки, либо ось может быть для этого по определению не предназначена, либо в ней должны быть функции, фактически запрещающие или разрешающие прерывания, но автору драйвера до этого не должно быть дела, его задача - вызвать нужные функции и полагаться на их работу.

Это общие принципы построения осей, им следуют как минимум крупные оси, а мелкие - тут все зависит от компетентности их авторов.