Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/160: Рейтинг темы: голосов - 160, средняя оценка - 4.74
 Аватар для tipahead
2 / 2 / 0
Регистрация: 30.08.2012
Сообщений: 151

DosBox и ошибка "Illegal command: masm"

06.02.2014, 19:04. Показов 32216. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создаю простой хелло ворлд под дос в редакторе Quick, сохраняю как hello.asm
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
.MODEL Small
.STACK 100h
.DATA
   db msg 'Hello, world!$'
.CODE
start:
   mov ah, 09h
   lea dx, msg ; or mov dx, offset msg
   int 21h
   mov ax,4C00h
   int 21h
end start
Далее переношу в DosBox hello.asm и мне пишет Illegal command: masm

Потом попробовал руками делать
mount C "D:\masm32\"
C:
masm hello.asm

Illegal command: masm
Смотрел обучающие видео, там везде на эту команду нормально реогировало и создавался .obj
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.02.2014, 19:04
Ответы с готовыми решениями:

Command.com и DosBox
При запуске command.com ->>>Exit to error: unhandled dos 21 call 53

Masm dosbox 0.74 win7 Error A2049
Добрый день, хотел слинковать программу, но появляется ошибка, хотел спросить с чем она связана ошибка показывает на эту строку ...

Ошибка: При декодировании JSON возникла ошибка: Illegal Token
Добрый день. Сегодня решил обновить Wordpress до версии 5.2, но перед этим сделал резервную копию (и правильно сделал!) После...

19
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
06.02.2014, 23:43
забить на досбокс, поставить человеческую виртуалку и дос

Добавлено через 24 секунды
проблема больше по части виртуалок, а не ассемблера.

Добавлено через 12 секунд
читай маны
0
193 / 188 / 18
Регистрация: 06.10.2013
Сообщений: 357
07.02.2014, 00:04
Цитата Сообщение от Мотороллер Посмотреть сообщение
проблема больше по части виртуалок, а не ассемблера.
Проблема в том, что в папке D:\masm32 нет исполнимого файла с названием masm.
1
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
07.02.2014, 04:23
tipahead,
вместо "masm" набери "ml"
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
07.02.2014, 06:29
Цитата Сообщение от tipahead Посмотреть сообщение
Далее переношу в DosBox hello.asm и мне пишет Illegal command: masm
Компьютер тебе сообщает что
- masm это не есть встроенная команда ОС, а значит он начал искать файл masm.exe или masm.bat или masm.com и найти такой файл он не может. Нету такого файла ни в текущем каталоге, ни в пути PATH
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
07.02.2014, 06:48
Ethereal,
masm.exe — старое название ml.exe, встречается в древних учебниках, например у Абеля в "Ассемблер и программирование для IBM PC"
Для того, чтобы выполнить исходную ассемблерную программу, необходимо прежде провести ее ассемблирование и затем компоновку. На дискете с ассемблерным пакетом имеются две версии aссемблера. ASM.EXE - сокращенная версия с отсутствием некоторых незначительных возможностей и MASM.EXE - полная версия. Если размеры памяти позволяют, то используйте версию MASM (подробности см. в соответствующем руководстве по ассемблеру)
у меня есть masm.exe — Macro Assembler Version 5.10, Macro Assembler Version 6.x и далее называются ml.exe
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
07.02.2014, 07:00
Да знаю я. Просто если бы ТС понял что ему говорит компьютер, он сам бы во всем разобрался. Где masm.exe ? Нету masm-а. А что есть ? И т.д.
1
 Аватар для tipahead
2 / 2 / 0
Регистрация: 30.08.2012
Сообщений: 151
07.02.2014, 18:39  [ТС]
На ml также реагирует - Illegal command
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
07.02.2014, 18:49
tipahead,
нажми на кнопку "Пуск"https://www.cyberforum.ru/cgi-bin/latex.cgi?\rightarrow"Поиск" и убедись, что ml.exe находится в папке d:\masm32\bin\
0
 Аватар для tipahead
2 / 2 / 0
Регистрация: 30.08.2012
Сообщений: 151
08.02.2014, 20:01  [ТС]
Я еще тогда глядел, ml.exe в bin есть
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
08.02.2014, 20:31
Ну так блин и блин. ОС найдет ml.exe и запустит только если он есть в текущем каталоге или в пути PATH. Очевидно ml.exe у тебя нет ни там ни там. Путь PATH ты можешь посмотреть командой
PATH
Сделай так ... сначала добавь каталог D:\MASM32\BIN к пути PATH. Это делается так
Code
1
set PATH=%PATH%;D:\MASM32\BIN
и потом запускай ml
0
 Аватар для tipahead
2 / 2 / 0
Регистрация: 30.08.2012
Сообщений: 151
08.02.2014, 21:25  [ТС]
в cmd на ml реагирует, значит в path всё как нужно прописанно
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
08.02.2014, 21:32
Цитата Сообщение от tipahead Посмотреть сообщение
в cmd на ml реагирует, значит в path всё как нужно прописанно
Цитата Сообщение от tipahead Посмотреть сообщение
На ml также реагирует - Illegal command
Ну и как тут одно с другим ?
0
 Аватар для tipahead
2 / 2 / 0
Регистрация: 30.08.2012
Сообщений: 151
08.02.2014, 21:58  [ТС]
в cmd windows реагирует
в cmd эмулятора нет
0
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
09.02.2014, 00:16
поставь человеческую досю на виртуалку
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
09.02.2014, 01:00
Лучший ответ Сообщение было отмечено tipahead как решение

Решение

Цитата Сообщение от Мотороллер Посмотреть сообщение
поставь человеческую досю на виртуалку
И что в "человеческой досе" ml.exe пойдет ?

Добавлено через 4 минуты
Цитата Сообщение от tipahead Посмотреть сообщение
в cmd windows реагирует
А чего тебе еще надо ?
Цитата Сообщение от tipahead Посмотреть сообщение
в cmd эмулятора нет
Ну и нахрен он в данном случае нужен ? Эмулятор нужен чтобы запустить результат компиляции.
Но саму-то компиляцию нужно делать в виндах. Ибо masm32 только там и работает.

Добавлено через 6 минут
Если ты хочешь компилировать в эмуляторе, то тебе нужен древний MASM 3.0, который
только в MS-DOS работал. А ты взял виндозный MASM32. И чего ты ожидаешь ?
Что он в dosBox-е пойдет ? Никогда не пойдет. Он же только в виндах работает.
С помощью MASM32 компилировать надо в виндах. И только запускать в досбоксе.
А чтоб компилировать в досбоксе нужно взять древние досовские версии MASM/TASM.

Добавлено через 6 минут
Кстати да. Древний MASM 3.0 не поймет строчек
.MODEL Small
.STACK 100h
.DATA
.CODE
Зато TASM поймет. Под MS-DOS работали версии TASM 2.x и 3.x
1
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
09.02.2014, 13:07
тасм 5.0 лучшее решение для доси
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
09.02.2014, 13:32
Цитата Сообщение от Мотороллер Посмотреть сообщение
тасм 5.0 лучшее решение для доси
Мотороллер,
аргументруй, почему тасм 5.0 под ДОС вдруг оказался лучше масм, насм, асм86, фасм и т.д.?
0
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
09.02.2014, 13:42
ну хз, я пробовал масмом под дос собрать - не удалось. а чтобы собрать под вынь нужно написать невидомую кучу ключей. с тасмом проще.
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
09.02.2014, 16:37
Цитата Сообщение от Мотороллер Посмотреть сообщение
ну хз, я пробовал масмом под дос собрать - не удалось.
Чтобы откомпилировать хелло_ворлд древним досовским MASM-ом (я проверил на версии 3.0)
нужно привести текст к каноничному синтаксису :
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
STEK SEGMENT STACK
        DB  100h DUP (?)
STEK ENDS
 
DATA SEGMENT
MSG     DB  'Hello, world!$'
DATA ENDS
 
CODE SEGMENT
    ASSUME CS:CODE
START:
        MOV AX, DATA
        MOV DS, AX
    ASSUME DS:DATA
        MOV DX, OFFSET MSG
        MOV AH, 9
        INT 21h
        MOV AX, 4C00h
        INT 21h
CODE ENDS
 
    END START
После чего компилировать вот так :
Code
1
2
masm hello.asm,,,NUL
link hello.obj,,NUL,,
или просто
masm hello.asm
link hello.obj
но тогда MASM и LINK будут задавать дополнительные вопросы, на которые можно ответить просто нажатием Enter.

Добавлено через 5 минут
P.S. TASM 5.0 вышеприведенный текст в каноничном масмовском ситаксисе компилирует тоже на ура.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.02.2014, 16:37
Помогаю со студенческими работами здесь

Ошибка: Illegal instruction
Выдаёт ошибку Illegal instruction при запуске кода. В чем может быть проблема? .model small .stack 100h .386p _DATA segment ...

Illegal expression + ошибка ;
Здравствуйте. Выдает ошибку в 19 строке, понять не могу зачем ему ;, вроде все закрыто до этой строки program kk; uses wincrt, ...

Ошибка Illegal expression
Никак не хочет запускаться из-за неправильных r и s,уже как только не переписывал их.Помогите) program lab191; uses crt; var ...

Ошибка illegal indirection
Собственно ситуация: Подключил я <math.h>; Пытаюсь воспользоваться символической константой M_PI; #include "stdafx.h" ...

Ошибка Illegal Instruction
Программа находит ошибки Illegal instruction и прочее! Помогите с решением текст .asm вставлена ниже .386P .MODEL FLAT, stdcall ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru