Консультация № 185484
23.02.2012, 13:54
0.00 руб.
23.02.2012, 14:01
0 4 1
Здравствуйте! Прошу помощи в следующем вопросе:
Я установил MASM (этот с сайта http://kalashnikoff.ru/Assembler/prog/assembler.html ), YASM, NASM, но они не запускаются.
У меня стоит процессор AMD. Узнал, набрав в командной строке SYSTEMINFO.

Точнее, вот:
{
Тип системы: X86-based PC
Процессор(ы): Число процессоров - 1.
[01]: x64 Family 16 Model 6 Stepping 2 AuthenticAMD ~2813 МГц
}

Прошу, пожалуйста, напишите, дело в процессоре или нет.

Кстати, FASM работает, но он слишком лекгий, и коды под другие ассемблеры не идут на него.

Обсуждение

давно
Старший Модератор
31795
6196
23.02.2012, 14:12
общий


Для начала ознакомтесь с этим вопросом 185343
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
23.02.2012, 15:12
общий
это ответ
Здравствуйте, Кузнецов Андрей Викторович!
У масма, насколько мне помнится, нет редактора

Настройка. Если установка пакета MASM 6.11 производилась с параметрами по-умолчанию, то в результате диск C:\ будет содержать ноый каталог, а именно: C:\MASM611\. (Если пакет MASM 6.11 был установлен на диске отличном от диска C:\, то при настройках путей к файлам MASMа следует указывать именно этот диск!. Например, D:\MASM611 и т.п.).

Теперь остались сущие пустяки: нужно указать Windows где ей следует искать файлы и программы установленного пакета.

После установки каталог \MASM611\ содержит в себе несколько папок, или подкаталогов: \BIN\, \BINR\, \LIB\, \INCLUDE\, \HELP\, \INIT\, \SAMPLES\.

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

Итак, проделываем в Windows следующий путь: «Пуск», «Мой компьютер». В открывшемся окне, вверху-слева, находим и жмем на графу «Просмотр сведений о системе». Открываем пункт «Дополнительно». В нижней части открывшегося окна нажимаем на пункт «Переменные среды».

Вновь открывшееся окно будет разделено на две половины: верхнюю и нижнюю. Нас интересует нижняя половина, в которой нужно найти строчку, начинающуюся со слова path.

Предупреждение! Будте внимательны при редактировании переменной среды path: добавляйте новые значения только в конец строки! Изменение предустановленных параметров может привести к неработоспособности некоторых установленных программ или системы в целом!

Кликаем по этой строчке двойным щелчком мыши. Откроется небольшое окошко «Изменение системной переменной», в котором будет выделена синим цветом указанная строка.

Кликаем мышкой в конец выделенной строки, переводим раскладку клавиатуры в латинскую и ставим сразу же за последним символом, символ точки с запятой «;».

Теперь нужно (без пробелов!) дописать в этой строке полные пути к нашим подкаталогам, разделяя каждый из них сиволом точки с запятой. Пишем, начиная с подкаталога BIN: C:\MASM611\BIN;C:\MASM611\BINR;C:\MASM611\LIB;C:\MASM611\INCLUDE;C:\MASM611\HELP;C:\MASM611\INIT;C:\MASM611\SAMPLES

Обратите внимание: после последнего указанного подкаталога символ точки с запятой или любой другой символ ставить не нужно!

Теперь остается только закрыть каждое открытое окно нажатием соответствующей кнопки «OK». После перезагрузки компьютера пакет Microsoft MASM 6.11 будет готов к работе.

Создание командных файлов. Пришло время проверить макроассемблер на работоспособность. Как ни странно, но использовать вышеуказанные подкаталоги напрямую, мы не будем. Хотя во многих учебниках по ассемблеру можно заметить противоположное: для создания файлов используется либо подкаталог BIN, либо создается специальный подкаталог в каталоге MASM611. Возникает один законный вопрос: для чего мы указывали пути к нашим подкаталогам в переменной среды path?.. Ответ на него такой: для того, чтобы можно было обращаться к файлам, находящимся в данных подкаталогах, из любого места операционной системы. Это значит, что мы можем создать пустую папку на Рабочем столе и вызывать из нее нужные нам программы из пакета MASM 6.11. Для этих целей используют командные файлы.

Создадим пустой каталог на Рабочем столе, и дадим ему имя source.

Запустите программу Блокнот (Пуск — Все программы — Стандартные — Блокнот), и напишите в открывшемся редакторе всего одну строчку следующего содержания: edit.com

Теперь нужно сохранить этот файл в нашем каталоге source под любым именем,но обязательно с расширением .bat, например — edit.bat.Для этого переходим в Блокноте: Файл — Сохранить как. Теперь следует выбрать в качестве каталога для сохранения файла, наш каталог source.В поле Имя файла: нужно ввести edit.bat, а в поле Тип файла: выбрать из списка Все файлы. В последнем поле — Кодировка — должно стоять ANSI.

Сохраняем наш файл.

Точно таким же образом создается второй файл, имя которого будет cmd.bat, а содержимым — строка cmd.exe. Сохраняется этот файл точно так же в наш каталог source.

Теперь у нас в распоряжении есть две программы, входящие в состав Windows: edit.com (простой текстовый редактор — наследие Windows, перешедшее из DOS) и cmd.exe (Командная строка Windows), запускаемые созданными нами файлами — edit.bat и cmd.bat соответственно.

Запускать эти файлы следует двойным кликом мыши по соответствующему файлу.

Тестирование. Запускаем файл cmd.bat, и переводим клавиатуру в латинскую раскладку. Набираем в открывшемся окне команду qh. Если появляется окно со строкой «QuickHelp cannot open c.hlp» — не обращаем на это внимания и просто жмем клавишу Enter. (Появление этого окна объясняется тем, что программа быстрой помощи пакета MASM 6.11 не может найти и открыть файл c.hlp. Где находится данный файл — не грех поинтересоваться у Билла Гейтса. Можно лишь догадываться, что это файл помощи по языку Си ?..).

Поскольку окно с сообщением об ошибке — появилось, значит установленный нами пакет работает. После нажатия клавиши Enter, появляется окно программы QuickHelp. Переходы по меню осуществляются либо при помощи мыши, либо клавишей Tab. Выход из программы осуществляется по нажатию клавиши X.

Файл edit.bat запускает текстовый редактор. Принцип создания и сохранения файлов в нем точно такой же, как и в обычном Блокноте. Но для наших целей он гараздо удобней последнего: вместо выбора типа файла, мы просто пишем нужное нам расширение и сохраняем файл. Cписок поддерживаемых команд редактора можно просмотреть клавишей F1. Выход из редактора осуществляется через меню Файл.

Запускаем файл cmd.bat и переводим клавиатуру в латинскую раскладку. Пишем в командной строке:

masm goodbye.asm

Если при написании кода ошибок вы не допустили, появится сообщение: Assembling: goodbye.asm и в каталоге source появится объектный файл goodbye.obj.

Остается только «слинковать» объектный файл, для чего в командной строке пишем:

link goodbye.obj /TINY;

После этого в папке source можно обнаружить нашу программу — goodbye.com. Остается только запустить ее в командной строке:

goodbye

Источник:


Для меня лучшим редактором кода является Notepad++
Если в нем нажать F6 и скопировать в поле этот текст, то можно создать .ехе файл:
Код:
cmd /c copy "$(FULL_CURRENT_PATH)" "C:\SPO1\tasm\temp\$(NAME_PART).asm"
cd "C:\SPO1\tasm"
cmd /c "tasm.exe /la /zi temp\$(NAME_PART) temp\$(NAME_PART)"
cmd /c move /y "$(NAME_PART).lst " "C:\SPO1\tasm\temp\$(NAME_PART).lst"
cmd /c "tlink /v temp\$(NAME_PART) temp\$(NAME_PART)"
cmd /c copy "C:\SPO1\tasm\temp\$(NAME_PART).exe" "$(CURRENT_DIRECTORY)"

а для .com:
Код:
cmd /c copy "$(FULL_CURRENT_PATH)" "C:\SPO1\tasm\temp\$(NAME_PART).asm"
cd "C:\SPO1\tasm"
cmd /c "tasm.exe /la/zi temp\$(NAME_PART) temp\$(NAME_PART)"
cmd /c move /y "$(NAME_PART).lst " "C:\SPO1\tasm\temp\$(NAME_PART).lst"
cmd /c "tlink /t temp\$(NAME_PART) temp\$(NAME_PART)"
cmd /c copy "C:\SPO1\tasm\temp\$(NAME_PART).com" "$(CURRENT_DIRECTORY)"

При этом в корне диска С должна лежать папочка SPO1 с вложенной tasm, в которой располагаются файлы:
DPMILOAD.EXE
DPMIMEM.DLL
TASM.EXE
TD.EXE
TLINK.EXE
и вложенная папка temp, куда будут помещаться файлы нашей программы.

Офсайт: http://notepad-plus.sourceforge.net/ru/site.htm
Portable версия (уже настроена) Notepad++.7z [1,58 MB]
давно
Старший Модератор
31795
6196
23.02.2012, 16:25
общий
У масма, насколько мне помнится, нет редактора


Зачем МАSM'у редактор, если у него есть встроенная IDE, позволяющая создавать любые 16-ти битные приложения.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
23.02.2012, 16:36
общий
23.02.2012, 18:11
Адресаты:
Тогда это тоже ответ на поставленный вопрос. Т.е. надо было указать какой файл запускать (MASM611\BINR\PWB.EXE)
Форма ответа