Вопрос № 24332: Здравствуйте!
Тут у меня интересная заморочка с защитой windows 2000. Если сможете объясните в чем прикол, и как его обойти.
Написал программу (ниже приложенную). В чистом виде запускаеться и завершаеться нормально. Когдаже она запускаеться и...
Вопрос № 24.332
Здравствуйте!
Тут у меня интересная заморочка с защитой windows 2000. Если сможете объясните в чем прикол, и как его обойти.
Написал программу (ниже приложенную). В чистом виде запускаеться и завершаеться нормально. Когдаже она запускаеться из qbasic'a командой SHELL, выдаеться:
---------------------------
16-разрядная подсистема MS-DOS
---------------------------
D:WINNTsystem32cmd.exe
Процессор NTVDM обнаружил недопустимую инструкцию.
CS:00d2 IP:b419 OP:df 08 00 00 00 Для завершения работы приложения нажмите кнопку ''Закрыть''.
---------------------------
Закрыть Пропустить
---------------------------
Я так думаю, что нужно перед этим какуюто еще команду выполнить?
Поскольку если писать тоже самое на бэйсике, то винда не ругаеться.
(compiler visual basic for dos v1.0)
Приложение:
Отправлен: 01.08.2005, 08:52
Вопрос задал: Артем Талипов (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: EPsilon
Здравствуйте, Артем Талипов!
Похоже тут дело в самой реализации SHELL в этом бейсике... Попробуй использовать что-то похожее на:
Приложение:
Ответ отправил: EPsilon (статус: Практикант)
Отправлен: 01.08.2005, 09:29
Отвечает: Стас
Здравствуйте, Артем Талипов!
Int 20 = Int 14h - это не выход из программы, а ввод/вывод через COM порт.
лучше уж Ret :)
А правильнее ax=4c00h; int 21h
Ответ отправил: Стас (статус: Практикант)
Отправлен: 02.08.2005, 00:34 Оценка за ответ: 5