Кстати, забыл сказать, что процедура чтения бита в самом начале выключает прерывания - через cli(). Так что по идее, ресурсов хватать должно?