Консультация № 193462
08.08.2018, 18:42
0.00 руб.
1 7 2
Здравствуйте, уважаемые эксперты! Я начал изучение ассемблера по книге Олега Калашникова. Написав первую программу (prog1.asm) и скачав MASM 6.11, я попытался выполнить ассемблирование и компоновку с помощью команды командной строки:
ml.exe prog1.asm /AT


Прикрепленные файлы:
a7a9521ab4c3031bcf56b7b49463f91075742162.png

Обсуждение

давно
Посетитель
402221
3
08.08.2018, 18:45
общий
Адресаты:
Почему вышло сообщение ("ml.exe" не является внутренней или внешней командой, исполняемой программой или пакетным файлом), ведь по книге все сделано правильно?
давно
Посетитель
402218
66
08.08.2018, 19:32
общий
08.08.2018, 19:35
Здравствуй, что бы вызывать эту команду из любой директрии в командной строке, нужно добавить в переменные среды путь до исполняемой программы ml.exe в windows 7 это выполняется так, на иконку вашего компьютера нажать правой кнопкой мыши -> свойства -> "дополнительные параметры системы" -> вкладка "дополнительно"-> "переменные среды" -> тут найти строку path, нажать два раза, "создать" -> прописать путь до выполняемого файла ml.exe
в win xp "пуск" -> "панель управления" -> "система" -> вкладка "дополнительно" -> "переменные среды" - там path или создать или изменить через точку с запятой путь до ml.exe
или перейти в папку в командной строке в директории ml.exe, и манипуляций с переменными не понадобится.
перейти можно комадной строкой cd c:/masm/bin путь естественно у Вас может быть другим
давно
Посетитель
402221
3
09.08.2018, 06:50
общий
Адресаты:
Спасибо!
давно
Посетитель
402221
3
09.08.2018, 06:50
общий
Адресаты:
Спасибо!
давно
Посетитель
7438
7205
10.08.2018, 11:32
общий
Адресаты:
Здравствуйте! Было бы неплохо оформить Ваш пост в мини-форуме, как ответ (нажав сверху на "ответить")
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
402218
66
10.08.2018, 14:39
общий
это ответ
Здравствуйте, Роман! что бы вызывать эту команду из любой директрии в командной строке, нужно добавить в переменные среды путь до исполняемой программы ml.exe в windows 7 это выполняется так, на иконку вашего компьютера нажать правой кнопкой мыши -> свойства -> "дополнительные параметры системы" -> вкладка "дополнительно"-> "переменные среды" -> тут найти строку path, нажать два раза, "создать" -> прописать путь до выполняемого файла ml.exe
в win xp "пуск" -> "панель управления" -> "система" -> вкладка "дополнительно" -> "переменные среды" - там path или создать или изменить через точку с запятой путь до ml.exe
или перейти в папку в командной строке в директории ml.exe, и манипуляций с переменными не понадобится.
перейти можно комадной строкой cd c:/masm/bin путь естественно у Вас может быть другим
5
давно
Старший Модератор
31795
6196
10.08.2018, 14:54
общий
это ответ
Здравствуйте, Роман!

Ваша проблема в том, что исходный ASM-файл и компилятор находятся в разных папках, и то как ищет CMD исполняемые файлы.У Вас есть несколько способов решения этой проблемы.
1:
Скопировать ASM-файл в паку с компилятором, а CMD настроить на папку с компилятором:


2:
Прописать путь к компилятору в переменную PATH:
Цитата: Help PATH
Команда PATH используется для указания или просмотра путей поиска исполняемых файлов. Пути поиска представляют собой текстовые строки, определяющие перечень каталогов файловой системы, в которых находятся исполняемые файлы (файлы с расширением .bat, .cmd, .exe, .vbs и т.п. ), разделенные точкой с запятой

Добавить нужный файл в переменную окружения PATH можно двумя способами:
a)в командной строке набрать команду path %PATH%;C:\папка\папка\компилятор\bin
где:
path - команда CMD
%PATH%; - предыдущее значение переменной окружения
C:\папка\папка\компилятор\bin - новый путь к компилятору

b)нажимая кнопки Пуск = Start -> Панель управления = Control Panel -> Система = System -> дальше по рисунку:

c)можно ещё использовать системные программы типа: systempropertiesadvanced.exe, но этот путь , сложнее, поэтому я только показал, что он есть.

3:
Командная строка, полная её запись, состоит из:>[путь к программе] <имя программы> [[путь к файлу] имя файла]
В квадратных скобках указаны параметры, которые не обязательно указывать, т.к можно использовать переменную окружения PATH, для сокращенной записи.
Но вариант с PATH, не удобен, когда у Вас есть несколько различных версий одной программы, к примеру у меня есть несколько версий компилятора MASM 5.xx, 6.11, 6.12, 6.13, 6.14xx. Во всех случаях ML вызывает LINK, какой из Link'ов должен вызвать CMD?
Я нужную информацию прописываю в ВАТ-файлах, набирая имя нужного мне ВАТ-файла, я запускаю, нужный мне компилятор с соответствующим link'ом.

ps:При работе с переменной PATH, делайте её резервную копию, вдруг, что-то пойдет не так

Удачи!
5
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа