Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Как програмно выключить или перезагрузить компьютер?   Найти похожие ветки 

 
ArtemESC ©   (2005-11-21 17:31) [0]

Доброго времени суток...
Как это сделать на асме - используя максимум прерывания
          BIOS.


 
Юрий Зотов ©   (2005-11-21 17:47) [1]

Хоть на Асме, хоть не на Асме - просто вызвать ExitWindowsEx, предварительно получив нужные привилегии вызовом AdjustTokenPrivileges. Детали см. в справке по API или в MSDN.


 
Игорь Шевченко ©   (2005-11-21 17:47) [2]


> Как это сделать на асме - используя максимум прерывания
>           BIOS.


Никак


 
ANB ©   (2005-11-21 18:14) [3]


> Игорь Шевченко ©   (21.11.05 17:47) [2]

Почему никак ?

ArtemESC ©   (21.11.05 17:31)
1. Сносишь винду
2. Ставишь MS DOS
3. Пишешь программу.

Когда выполнишь первые 2 пункта - обращайся - я найду в доке номер прерывания.


 
Джо ©   (2005-11-21 18:42) [4]


>  [3] ANB ©   (21.11.05 18:14)

Не нужно там никакого "прерывания". По памяти (возможно, немного ошибся, но проверить не сложно):
1. пишешь по адресу  0040:0070(?) значение 1234 (кажется, hex)
2. переходишь на FFFF:0000.
Для "холодной" перезагрузки нужно писать нули.


 
ArtemESC ©   (2005-11-21 18:45) [5]

Извените, но вы меня не поняли - я собираюсь
писать загрузочный диск...
>>Джо
Можно поподробнее?...


 
ANB ©   (2005-11-21 18:58) [6]


> Джо ©   (21.11.05 18:42) [4]

Не, было там прерывание. Только не помню DOS или BIOS.


 
Palladin ©   (2005-11-21 19:22) [7]

AFAIK, просто JMP на FFFF:0000, без всякого заполнения 0040:0070...


 
Джо ©   (2005-11-21 19:27) [8]

В общем, кому интересно тут разные варианты: (я сам адресом немного ошибся):
http://board.flatassembler.net/topic.php?p=28386


 
Джо ©   (2005-11-21 19:29) [9]


> [7] Palladin ©   (21.11.05 19:22)
> AFAIK, просто JMP на FFFF:0000, без всякого заполнения 0040:0070...

Нет, нужно ведь для разлчия warm & cold boot.


 
ArtemESC ©   (2005-11-21 19:49) [10]

>>Джо
>>FFFF:0000
 Насколько я понимаю это переход к BIOS - загрузка начинается снова...

А как выключить комп?


 
sniknik ©   (2005-11-21 20:50) [11]

   mov ax,5301h
   sub bx,bx
   int 15h
   jc @@finish
   mov ax,530Eh
   sub bx,bx
   mov cx,102h
   int 15h
   jc @@finish
   mov ax,5307h
   mov bx,1
   mov cx,3
   int 15h
   @@finish:
   int 20h



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.061 c
2-1133180778
pathfinder
2005-11-28 15:26
2005.12.11
Как лучше сохранить выборку из Adoquery в файл?


4-1128951430
Gluk
2005-10-10 17:37
2005.12.11
Перехват окна сохранения


2-1132569578
Mike0902
2005-11-21 13:39
2005.12.11
Как определить целочисленный тип, принимающий значения -1 и 1?


2-1132514607
Nikos
2005-11-20 22:23
2005.12.11
Непонятная ошибка при завершении программы.


4-1129138447
Конст
2005-10-12 21:34
2005.12.11
FormatMessage и освобожение буфера