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

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

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

Author24 — интернет-сервис помощи студентам
Создаю простой хелло ворлд под дос в редакторе 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, но перед этим сделал резервную копию...

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

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

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

Добавлено через 12 секунд
читай маны
0
193 / 188 / 18
Регистрация: 06.10.2013
Сообщений: 357
07.02.2014, 00:04 3
Цитата Сообщение от Мотороллер Посмотреть сообщение
проблема больше по части виртуалок, а не ассемблера.
Проблема в том, что в папке D:\masm32 нет исполнимого файла с названием masm.
1
Ушел с форума
Автор FAQ
16341 / 7660 / 1076
Регистрация: 11.11.2010
Сообщений: 13,706
07.02.2014, 04:23 4
tipahead,
вместо "masm" набери "ml"
0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,048
07.02.2014, 06:29 5
Цитата Сообщение от tipahead Посмотреть сообщение
Далее переношу в DosBox hello.asm и мне пишет Illegal command: masm
Компьютер тебе сообщает что
- masm это не есть встроенная команда ОС, а значит он начал искать файл masm.exe или masm.bat или masm.com и найти такой файл он не может. Нету такого файла ни в текущем каталоге, ни в пути PATH
0
Ушел с форума
Автор FAQ
16341 / 7660 / 1076
Регистрация: 11.11.2010
Сообщений: 13,706
07.02.2014, 06:48 6
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
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,048
07.02.2014, 07:00 7
Да знаю я. Просто если бы ТС понял что ему говорит компьютер, он сам бы во всем разобрался. Где masm.exe ? Нету masm-а. А что есть ? И т.д.
1
2 / 2 / 0
Регистрация: 30.08.2012
Сообщений: 151
07.02.2014, 18:39  [ТС] 8
На ml также реагирует - Illegal command
0
Ушел с форума
Автор FAQ
16341 / 7660 / 1076
Регистрация: 11.11.2010
Сообщений: 13,706
07.02.2014, 18:49 9
tipahead,
нажми на кнопку "Пуск"https://www.cyberforum.ru/cgi-bin/latex.cgi?\rightarrow"Поиск" и убедись, что ml.exe находится в папке d:\masm32\bin\
0
2 / 2 / 0
Регистрация: 30.08.2012
Сообщений: 151
08.02.2014, 20:01  [ТС] 10
Я еще тогда глядел, ml.exe в bin есть
0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,048
08.02.2014, 20:31 11
Ну так блин и блин. ОС найдет ml.exe и запустит только если он есть в текущем каталоге или в пути PATH. Очевидно ml.exe у тебя нет ни там ни там. Путь PATH ты можешь посмотреть командой
PATH
Сделай так ... сначала добавь каталог D:\MASM32\BIN к пути PATH. Это делается так
Код
set PATH=%PATH%;D:\MASM32\BIN
и потом запускай ml
0
2 / 2 / 0
Регистрация: 30.08.2012
Сообщений: 151
08.02.2014, 21:25  [ТС] 12
в cmd на ml реагирует, значит в path всё как нужно прописанно
0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,048
08.02.2014, 21:32 13
Цитата Сообщение от tipahead Посмотреть сообщение
в cmd на ml реагирует, значит в path всё как нужно прописанно
Цитата Сообщение от tipahead Посмотреть сообщение
На ml также реагирует - Illegal command
Ну и как тут одно с другим ?
0
2 / 2 / 0
Регистрация: 30.08.2012
Сообщений: 151
08.02.2014, 21:58  [ТС] 14
в cmd windows реагирует
в cmd эмулятора нет
0
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
09.02.2014, 00:16 15
поставь человеческую досю на виртуалку
0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,048
09.02.2014, 01:00 16
Лучший ответ Сообщение было отмечено 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 17
тасм 5.0 лучшее решение для доси
0
Ушел с форума
Автор FAQ
16341 / 7660 / 1076
Регистрация: 11.11.2010
Сообщений: 13,706
09.02.2014, 13:32 18
Цитата Сообщение от Мотороллер Посмотреть сообщение
тасм 5.0 лучшее решение для доси
Мотороллер,
аргументруй, почему тасм 5.0 под ДОС вдруг оказался лучше масм, насм, асм86, фасм и т.д.?
0
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
09.02.2014, 13:42 19
ну хз, я пробовал масмом под дос собрать - не удалось. а чтобы собрать под вынь нужно написать невидомую кучу ключей. с тасмом проще.
0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,048
09.02.2014, 16:37 20
Цитата Сообщение от Мотороллер Посмотреть сообщение
ну хз, я пробовал масмом под дос собрать - не удалось.
Чтобы откомпилировать хелло_ворлд древним досовским 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
После чего компилировать вот так :
Код
masm hello.asm,,,NUL
link hello.obj,,NUL,,
или просто
masm hello.asm
link hello.obj
но тогда MASM и LINK будут задавать дополнительные вопросы, на которые можно ответить просто нажатием Enter.

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

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

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

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

Ошибка Illegal Instruction
Программа находит ошибки Illegal instruction и прочее! Помогите с решением текст .asm вставлена...

Ошибка: Illegal instruction
Задание: Выбор одинаковых элементов из двух массивов целых чисел. В программе FASM. Вот есть...

Ошибка: Illegal qualifier
ругается на переменную k в open в чем причина?( если что, это сапер, open - процедура открытия...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru