ПРЕДИСТОРИЯ
Программировать я стал в первые на Pasall подобных компиляторах и однажды прочитал маленькую статью про ассемблер в высоко-уровневых компиляторах, с тех пор и понеслось и однажды в поисках новенького нашел Flat Assembler под Windows. Это очень удобный и мощный пакет для разработки, бесплатный для любого использования. Написан полностью на самом себе, исходники прилагаются. Мне он нравится тем, что позволяет хранить код и описания ресурсов в одном ASM-файле, поддерживает макросы, генерит чистый машинный код без всякой не заявленной самодеятельности, не требует лишней рутинной работы типа прописывания каждой задействованной функции в секцию импорта и еще множество приятных мелочей, облегчающих жизнь программисту. С тех пор прошло не мало времени и я считаю, что не будет больше не TASM'a не MASM'a, пришел в этот мир новый развитый синтаксис. УСТАНОВКА
Установку я разделил на несколько основных моментов и к этому могу добавить, что FASM врятли будет иметь в ближайшее время инсталятор т.к. на это есть несколько причин, во первых новые версии выходят фактически раз в 2 недели, но размер архива увеличивается всего на несколько десятков байт, во вторых все настройки хранятся в файле fasmw.ini, отсутствие сложностей в редактирование тоже делает не рациональным использование инсталятора, хотя мне кажется, что многие люди страдают от этой маленькой проблемы...И так преступим, этап первый разумеется для установки нам нужен будет сам FASM с официального сайта (около 860кб). Там же можно скачать версии FASM для Linux, Unix и MS-DOS. Обязательно скачайте справочник Microsoft Win32 Programmer's Reference. НАСТРОЙКА
После того как вы скачали дистрибутив извлеките содержимое архива в любую папку, желательно в коневой каталог диска С:\, после первого запуска fasmw.exe создается файл надстроек fasmw.ini, откроем этот файл в блокноте и в конец файла добавим следующие строки:
[Environment] include="C:\FASM\INCLUDE" img="C:\FASM\IMAGES\" fasminc="C:\FASM\PROJECTS\INCLUDE"
|
Подпункты [Environment] отвечают за пути к переменным средам, если мы укажем в подпункте:
include="C:\FASM\INCLUDE"
то при компиляции исходного кода путь файла будет привинчен к C:\FASM\INCLUDE\. Когда в настройках FASM установлена переменная include, использовать переменную %fasminc% уже не требуется. В крайнем случае ее можно продублировать в FASMW.INI, но делать это нежелательно, лучше просто удалить ее из всех исходников. Для ясности приведу пример:
format PE GUI 4.0 entry start ; В некоторых исходниках встречается подобные строчки: ; include '%fasminc%\win32a.inc' ; После установки переменной %include% более правильная ; запись будет такая: include 'win32a.inc'; Путь к файлу берется из %include% ... ; Добавление файлов в секцию данных section '.data' data readable writeable xm file '%img%\java.bmp' ; Путь к файлу берется из %music% xm_len = $-xm ... ; Подключение функций в таблицу импорта section '.idata' import data readable writeable library kernel32,"kernel32.dll",\ user32,"user32.dll",\ shell32,"shell32.dll",\ gdi32,"gdi32.dll" include "apia\kernel32.inc" ; Путь к файлу берется из %include% include "apia\user32.inc" include "apia\shell32.inc" include "apia\gdi32.inc" ... ; Подключение отдельных файлов include '%ufmod%\ufmod.inc' ; Путь к файлу берется из %ufmod%
|
СПРАВКА Вернемся к ранее скаченному файлу Microsoft Win32 Programmer's Reference, извлечем архив в папку с FASM'ом, а дальше пропишем в fasmw.ini полный путь к нему:
[Help] Path=C:\FASM\WIN32.HLP
|
Это же можно сделать и через меню редактора Help - Pick help file...
Теперь, если все сделано правильно, достаточно установить в редакторе
курсор на название функции API и нажать F1. или выделить двойным кликом мыши имя нужной функции, зажать CTRL и нажать левой кнопкой мыши, в результате справочник сразу откроется
на описании этой функции.
Источник: http://www.manhunter.ru/ |