Эта программа не может быть запущена в режиме dos

Несколько недель я изучаю программирование на ассемблере, сегодня я установил все необходимые приложения для компиляции программы на ассемблере. Я устанавливаю DOSBox 0.74, NASM (ассемблер) и AFD (отладчик). Я монтирую диск и правильно вижу мои файлы .asm. Но когда я выполняю следующую команду:

nasm firstprogram.asm -o firstprogram.com

выдает следующую ошибку: This program cannot be run in dos mode Но когда я компилирую файл через командную строку (cmd), он компилируется правильно, а затем мне нужно перейти в DOSBox, чтобы запустить AFD и отладить файл .com. Любая идея, почему я получаю эту ошибку на DOSBox?

person Hassan Yousuf schedule 02.10.2015 source источник
Где вы выполняете первую команду? — person underscore_d nbsp schedule 02.10.2015

Ответы (3)

Если вы выполняете nasm внутри DOSBox, то все происходит довольно просто.

Вас обманули слои совместимости!

Если вы видите подробности формата переносимых исполняемых файлов (он же: внутренний формат .exe s, .dll s и .com s (последние использовались для использования Common Object File Format)), вы обратите внимание, что есть нечто, называемое заглушкой MS-DOS. Он предназначен для отображения сообщения «Эта программа не может быть запущена в режиме DOS» на 16-разрядных реальный режим операционных систем, таких как MS-DOS, чтобы информировать пользователя о том, что программа несовместима со старой системой. Это означает, что вы используете Windows nasm на платформе MS-DOS (виртуальной). Попробуйте вместо этого использовать бинарные файлы DOS, и все будет в порядке.

Читайте также:
Выполняет сервисные функции по отладке и тестированию программы

Как запускать DOS программы и игры в Windows 11 и 10

person 3442 schedule 02.10.2015

Вы загрузили версию, которая работает в Windows. Когда вы открываете каталог определенной версии, есть подкаталоги для разных ОС. Например, здесь: https://www.nasm.us/pub/nasm/releasebuilds/2.12/ Если вы загрузите его из папки /dos, вы сможете запустить его в DOSBox, однако, если вы загрузите его из папки /win32, вы сможете запустить его только из Windows.

person Vladivarius schedule 05.04.2018

Вероятно, вы делаете так называемый console application . Он работает на консоли, но требует Windows 95 или никогда не требует под капотом, в основном для поддержки fat32 .

Источник: questu.ru

Я получаю Эта программа не может быть запущена в режиме DOS

В некоторых ОС Windows все программы командной строки работают нормально, но в некоторых ОС Windows, таких как WinXP, This program cannot be run in DOS mode возникает ошибка.

Как мне избежать этой проблемы?

7 комментариев
Какую программу вы пытаетесь запустить, что вызывает это? Synetech 10 лет назад 0

nmap, pwdump и т. д. (zenmap также не работает, в графической части), но calc.exe работает и другие встроенные exe-файлы, так что я собираюсь сказать, что, черт возьми, это? user41648 10 лет назад 0

Хм, это странно, потому что это звучит как проблема с разрешениями, но это не будет ошибкой для разрешений. Synetech 10 лет назад 0

Как запускать старые программы иил игры под MS-DOS на Windows 10 с помощью DosBox

Может ли это быть DEP? 10 лет назад 0

Ммм, это подразумевает `command` vs` cmd` тогда. Альтернативно, 64-битная XP (хотя это маловероятно). 10 лет назад 0

Помните, что 64-битная ОС не может запускать 16-битные программы. Я не думаю, что это проблема здесь, но имейте в виду. Mike Christiansen 10 лет назад 0

Читайте также:
Программа открыть xml файл

Комментировать

2 ответа на вопрос

Karan 2012-09-18 в 23:38

Вы используете Command.com или Cmd.exe ? Попробуйте Cmd.

Также, если вы используете ярлык для доступа к командной строке, убедитесь, что вы не перепутали настройки программы, особенно те, которые связаны с памятью или совместимостью (примечание: снимки экрана, полученные со случайного сайта, не настраиваются так, как показано на рисунке). вероятно не все настройки по умолчанию):

EXE Memory settings on XPEXE Compatibility settings on XP

2 комментария

Это то, о чем я думал сначала, но это не должно иметь значения; он по-прежнему будет запускать исполняемые файлы Windows (помните, что существуют 16-разрядные программы Windows). Synetech 10 лет назад 0

Источник: wikiroot.ru

DOSBox — эта программа не может быть запущена в режиме DOS (сборка)

Несколько недель я изучал программирование на ассемблере, сегодня я установил все необходимые приложения для компиляции ассемблерной программы.

Я устанавливаю DOSBox 0.74, NASM (Ассемблер) и AFD (Отладчик). Я монтирую диск и вижу мои файлы.asm правильно. Но когда я выполняю следующую команду:

nasm firstprogram.asm -o firstprogram.com

это дает мне следующую ошибку: This program cannot be run in dos mode

Но когда я компилирую файл через командную строку (cmd), он компилируется правильно, а затем мне нужно перейти в DOSBox, чтобы запустить AFD и отладить файл.com.

Любая идея, почему я получаю эту ошибку на DOSBox?

user4646416 02 окт ’15 в 15:31 2015-10-02 15:31
2015-10-02 15:31

3 ответа

Если вы выполняете nasm то, что происходит внутри DOSBox, довольно просто.

Вы были обмануты слоями совместимости!

Если вы видите подробную информацию о Portable Executable Format (иначе: внутренний формат .exe s, .dll с и .com s (те, что использовались в последний раз для использования Common Object File Format), вы заметите, что есть нечто, называемое заглушкой заглушки MS-DOS. Его целью является отображение сообщения «Эта программа не может быть запущена в режиме DOS» в 16-разрядных операционных системах реального режима, таких как MS-DOS, чтобы информировать пользователя о том, что программа не совместима со старой системой.

Читайте также:
Программа как пережить развод

Это означает, что вы используете Windows nasm на платформе MS-DOS (виртуальной). Попробуйте вместо этого использовать двоичные файлы DOS, и все будет в порядке.

Источник: stackru.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru