Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/154: Рейтинг темы: голосов - 154, средняя оценка - 4.58
 Аватар для alex-mist
0 / 0 / 0
Регистрация: 23.10.2007
Сообщений: 38

ошибка:"Процессор NTVDM обнаружил недопустимую инструкцию"

30.10.2007, 17:12. Показов 28400. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ тут у меня такая проблема: пишу прогу,даже беру исходник рабочей программы,откампилирую её , но при запуске windows пишет ошибку:"Процессор NTVDM обнаружил недопустимую инструкцию" непроходите мимо , ответте!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2007, 17:12
Ответы с готовыми решениями:

Процессор ntvdm обнаружил недопустимую инструкцию
Простая программа логических операций над битами: model small .stack 100h ;========================================= .data A...

Процессор NTVDM обнаружил недопустимую инструкцию
Ошибка вылазеет вне Паскаля, при запуске программы... Что мне делать???

процессор NTVDM обнаружил недопустимую инструкцию
Пытаюсь перенести число 6 в dx: data segment db 200 ; чисто +200 с минимально возможной директивой ctyu dd 111111111; двойное...

3
118 / 12 / 3
Регистрация: 21.08.2007
Сообщений: 222
31.10.2007, 07:31
Текст программы в студию )
0
-13-
19.03.2008, 15:24
Капризы NT VDM

Признайтесь, давно у вас стоит Windows 2000/XP/2003? А как часто возникает необходимость запускать старые 16-битные программы? Игрушку там древнюю под DOS прогнать лишний раз али какую программу года 1998-го?

Большинство пользователей хоть раз да сталкивались с упрямым нежеланием полностью 32-битных ОС исполнять 16-битный код. Как правило, это выскакивающий MessageBox с сообщением: "CONFIG.NT не предназначен для исполнения команд DOS. Закрыть/Пропустить?"

Если у вас такая беда приключилась, вашему горю можно помочь. Разберемся с тем, как ваша Windows исполняет 16-битный код.

Роль командного процессора вместо привычного нам COMMAND.COM теперь исполняет 32-битный %SYSTEMROOT%\NTVDM.EXE. Сам же товарищ command.com находится в %systemroot% только ради эмуляции. Настройки программной среды теперь берутся из файлов config.nt и autoexec.nt, которые расположены в этом же каталоге. Обратите внимание, что их копия находится в каталоге RESTORE, дабы при первом рестарте Windows с включенной System File Protection опцией восстановила все на круги своя.

Смешное сообщение выбрасывает ваша Windows, не правда ли? Файл для эмуляции не предназначен для эмуляции... Руки поотрывать таким переводчикам. Будем копать сами.

Первым делом - самое очевидное решение проблемы. Командный процессор NTVDM.EXE подменяется НЕРАБОТОСПОСОБНЫМ файлом... самой "Майкрософт"! Как оказалось, в октябрьском обновлении безопасности Windows из Knowledge Base 840987 был выпущен в обращение неработоспособный процессор. Вот теперь и ругай дядю Билли... Если вы проводите ручное или автоматическое обновление Windows, деинсталлируйте обновление через "Установку/Удаление программ", отключите автообновление системы и переходите к следующему шагу.

Сейчас мы будем брутально копаться в системе. Поэтому необходимо отключить System File Protection. Посмотреть, как это делается, можно в любом руководстве по тонкой настройке Windows 2000.

Далее лезем "Блокнотом" в файлы config.nt и autoexec.nt. Их содержимое не должно включать ничего, кроме
****** autoexec.nt *****
@echo off
path %path%;%SystemRoot%\system32
lh mscdexnt
lh redir
lh dosx

***** config.nt *****
dos=high, umb
device=%SystemRoot%\system32\ himem.sys
files=40

Если у вас есть что-то лишнее, удалите его. Если параметры эмуляции в DOS вашей звуковой карты отличаются от стандартных (приведенных), переправьте. Возможно, ваша программа будет требовать бОльшего числа открытых файлов - увеличьте величину FILES.

Если после перезагрузки 16-битная программа по-прежнему не желает загружаться - ну что ж, вам не повезло. Дело пахнет кер... Ой, переустановкой операционной системы.

Проблема заключается в том, что для корректной поддержки 16-битного кода при своей инсталляции Windows должна увидеть в дистрибутиве стандартные файлы config.nt_ и autoexec.nt_. А их там может тривиально не оказаться. Известно, что эти файлы 100% отрезаются, если дистрибутив Windows пересобирался из оригинального при помощи программы nLite. Эта программа, кстати, сама об этом предупреждает в Readme. Так что, если у вас не оригинальный дистрибутив, а переписанный неизвестно где - ждите подвоха.

Точно так же можно ждать подвоха со стороны аппаратного обеспечения. Предположим, вы ради ускорения загрузки решили переписать дистрибутив на винчестер. Если для загрузки перед инсталляцией Windows2000 с компакт-диска вы пользовались не оригинальным загрузочным диском, а любым другим (самодельной дискетой от Windows98 или, еще хуже, мультизагрузочным "реаниматорским"), есть небольшой шанс, что драйвер CDROM на вашем загрузчике не слишком хорошо совместим с приводом. Поскольку в каталоге \I386 очень, ну ОЧЕНЬ много файлов, то сразу получить к некоторым доступ затруднительно (таймаут устройства). Самолично наблюдал, как на трех совершенно различных материнских платах повторялась одна и та же ситуация: драйвер CDROM от Samsung (sscdrom.sys), привод от TEAC (CD-540E) - и... hasta la vista, baby! Чтобы увидеть искомые файлы config.nt и autoexec.nt, приходится по 4-5 раз жать на кнопку "Обновить".

Дополнительно свою лепту может внести (если он загружается) Smartdrive. В результате ошибки кэширования некоторые файлы не переписываются с компакт-диска, и Windows Setup их не видит. Оригинальный же, майкрософтовский драйвер CDROM с релизного диска корректно кэширует любое количество файлов. В силу отсутствия необходимости файлы можно при инсталляции пропустить, но тогда придется попрощаться с поддержкой 16-битных приложений.

Итак, резюме: на данный момент времени полная поддержка 16-битного кода в Microsoft Windows 2000/XP/2003 возможна при:
отсутствии обновления KB840987;
корректно сконфигурированных файлах config.nt и autoexec.nt;
наличии в момент инсталляции системы в дистрибутиве config.nt_ и autoexec.nt_.

Всегда ваш,

Mexicanetz Express,
mexaco@tut.by
Maks231
21.02.2011, 14:24
Короче придеться походу переустанавливать винду
???
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.02.2011, 14:24
Помогаю со студенческими работами здесь

Процессор NTVDM обнаружил недопустимую инструкцию
Процессор NTVDM обнаружыл недопустимую инструкцыю. CS:0e07 Ip:0238 OP:63 73 73 22 20 Установил програму NET FRAMEWORK 4 Удалил 2 и 3.5...

Процессор NTVDM обнаружил недопустимую инструкцию
Прошу помочь с устранением проблемы: 16-разрядная подсистема MS-DOS C:\WINDOWS\system32\cmd.exe Процессор NTVDM обнаружил...

Процессор NTVDM обнаружил недопустимую инструкцию
Помогите ! Как все исправить? Установила антивирус Dr.Web, но он мне не понравился...Удалила через Установка и удаление программ. Вылезло...

Процессор NTVDM обнаружил недопустимую инструкцию
когда работаю с графикой, при запуске постоянно выводит такую ошибку.. незнаю что делать.. Хелп плиз ... Курсовую делать надо :((( :sorry:

Процессор NTVDM обнаружил недопустимую инструкцию
У меня выскакивает при запуске. Перезагрузить страницу C:\WINDOWS\system32\cmd.exe. Процессор NTVDM обнаружил недопустимую инструкцию. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru