Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Ассемблер? Это просто! Учимся программировать


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик
Статус: Академик
Рейтинг: 9757
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Академик
Рейтинг: 3865
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2478
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Assembler (Ассемблер)

Номер выпуска:1505
Дата выхода:26.02.2012, 14:30
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:107 / 42
Вопросов / ответов:1 / 1

Консультация # 185484: Здравствуйте! Прошу помощи в следующем вопросе: Я установил MASM (этот с сайта http://kalashnikoff.ru/Assembler/prog/assembler.html ), YASM, NASM, но они не запускаются. У меня стоит процессор AMD. Узнал, набрав в командной строке SYSTEMINFO. Точнее, вот: { Тип системы: X86-based PC ...


Консультация # 185484:

Здравствуйте! Прошу помощи в следующем вопросе:
Я установил 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 работает, но он слишком лекгий, и коды под другие ассемблеры не идут на него.

Дата отправки: 23.02.2012, 13:54
Вопрос задал: Кузнецов Андрей Викторович (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует denura (5-й класс):

Здравствуйте, Кузнецов Андрей Викторович!
У масма, насколько мне помнится, нет редактора

Настройка. Если установка пакета 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]

Консультировал: denura (5-й класс)
Дата отправки: 23.02.2012, 15:12
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное