Страница 1 из 2

Добавлено: 03 апр 2004, 16:03
Andy
Можно таким образом:

Код: Выделить всё

	push	0ffffh
	push	0000h
	retf
В этом случае мы вызываем внутреннюю процедуру перезагрузки (насколько помню не "горячая", а вроде reset'a (но проверить сейчас не на чем))

P.S. - Только сегодня проверил - именно ресет. Плюс еще один симпатичный короткий способ (использует вместо retf - jmp 0ffffh:0000h)

Код: Выделить всё

db 0eah,00h,00h,0ffh,0ffh

Добавлено: 23 сен 2004, 00:57
droopy
Еще способы:
- самый короткий - int 19h
- jmp dword ptr ds:[467h], если ds=0
- перейти в защищённый режим, не устанавливая IDT, и вызвать неправильную команду

Добавлено: 23 сен 2004, 14:22
Romeo
Самый правильный из них - это первый. А вот последний метод просто "кирпичный" :)

Добавлено: 23 сен 2004, 15:23
Andy
Самый правильный из них - это первый
Самый правильный - это мой :) А вот первый из них, к сожалению, не правильный. int 19h это загрузка, а не перезагрузка (тем более спрашивалось про ресет). Проверьте сами господа - DOS как бы перезагрузится, но вот комп - нет. Тестов БИОСа вы не увидите.
jmp dword ptr ds:[467h], если ds=0
Работает! :)

Добавлено: 31 май 2005, 17:37
Lex
Введи команду HLT(остановка процессора) и все!!! Перезагрузится как миленький!!! Я уже пробовал, а вот код:

Lex segment
org 100h
Begin:
HLT
Lex ends
End Begin

Добавлено: 01 июн 2005, 13:15
Defder
А есть возможность выключить компьютер?
И ещё: заблокировать Reset или PowerOff?

под чистым DOS, естественно

Добавлено: 03 июн 2005, 15:33
Andy
И ещё: заблокировать Reset или PowerOff?
1. Выдрать кнопку
2. Заклеить ее скотчем или изолентой
3. Отключить провода на материнской плате

:)

Добавлено: 01 авг 2005, 17:10
Defder
Вопрос вполне серьёзный. Естественно, имеются в виду ACPI-системы.

Добавлено: 01 авг 2005, 20:16
Oscar
ЭхЪ, я бы многое отдал, чтобы посмотреть на код программы на Асме, да хоть под чистым досом, которая бы заблокировала мне возможность выдергнуть штэкер питания из резетки )))

Сорри за оффтопик ))