Binary digit !!!Я решаю для себя одну задачу с помощью языка Ассемблера,
под MS-DOS. Корпус у меня atx, т.е. если я в винде нажму
завершить работу, далее выключить компьютер, то он выклю-
чится.
По моему винда вызывает api: ExitWindow:Описание:
function ExitWindows(Reserved: DWord; ReturnCode: Word): Bool;Иницииpует стандаpтную пpоцедуpу завеpшения pаботы с
Windows. Все пpикладные задачи должны подтвеpдить завеpшение
pаботы Windows. Вызывает функцию 4CH пpеpывания 21H DOS.Паpаметpы:
Reserved: Установлен в нуль.
ReturnCode: Значение, пеpедаваемое в DOS (в pегистpе AL).Возвpащаемое значение:
Нуль, если одна или несколько задач отказываются завеpшить
pаботу.Пробывал:
mov ah,4ch
mov al,код выхода
int 21h
Перебрал от 1 до 0bh и не фига.Как бы мне вырубить комп, ноходясь в MS-DOS?
На всякий случай, сижу в Tasm`e.
Надеюсь гуру еще не вымерли ?! (с вызовом)
Буду премного благодарен за ответ на мой вопрос !
Не думаю, что возможно завершить работу win из dos-задачи. Тебе нужно напрямую лезть в WInAPI, а это уже получится не dos-задача, а как минимум win16.А функция 4ch - это обычный выход из программы. Код завершения нужен для того, чтобы запустивший процесс мог узнать - нормально отработала программа (принято использовать 0) или с ошибками (отличное от 0 значение: 1..255).
Может вот это натолкнёт на мысль?:
Вряд ли... Win на вызов перезагрузки из dos-задачи ругнется и снимет нафиг процесс.
Винду я имел в качестве примера, сорри за некорректно описанный вопрос!