Миль пардон, только сегодня увидел Ваш вопрос, набил ради интереса этот код и прогнал на реальном железе в Колибри-А (там in/out работает в юзермоде с любыми портами).
Машина зависла наглухо, но без отключки. Просто умерла с включенным экраном.
Когда решил оттрассировать по шагам в MTBEBUGе - машина совершенно
правильно выключилась (с полной остановкой всего) на предпоследней команде, не доходя до jmp $ .
Выход из цикла произошёл на самом первом прогоне (ax == 0х0001)
Да, но я вообще-то не за этим сюда зашёл.
Я тут в последнее время изучаю (в жестко-

извращённой форме) несчастный
Acer ao522. В целом - очень неплохая машинка, не сравнить со снулыми атомами. Колибри на ней завелась с пол-оборота, ATIшный драйвер работает изумительно (спасибо, Serge!), клавиатура и тачпад - в полном порядке. Только три минуса -
-1) USB-устройства (даже загрузочные флешки) не распознаются BIOSом ни при каких настройках. Чтобы загрузиться, приходится лезть в потроха, вытаскивать лицензионный NTFS-жд и ставить туда что-нибудь православное;
-2) сеть еще долго будет ждать своего драйвера; ну и наконец
-3) не выключается, зараза! - причем не только ACPI-отключка не пашет, но даже и мой "прямой" рубильник. Выпинывает на PEREGRUZKy
да и еще вот инфа по сабжу :
Цитата:
говорят, обращение к отдельным портам, а также и ACPI-регистрам, может быть оформлено на IO_TRAP с автоматической генерацией SMI.
если это так, то все равно что есть ACPI-подсистема, что ее нет - нужен будет свой драйвер PM под конкретную невыключаемую платформу...