Как настроить RadAsm под MASM32
Опубликовал devprog на Октябрь 14, 2008
Привет. Если вы уж выбрали эту замечательную среду разработки например для программирования например на С++ или С, то обязательно прочтите данный материал. Дело в том, что RadAsm можно настроить не только под Си или Си++, так же это может быть PHP, Basic, или даже HTML, не говоря уже про все ассемблеры. Давайте я покажу вам на примере, как настроить RadAsm для программирования на ассемблере MASM32. Со всеми остальными всё делаеться аналогично.
Шаг 1: Качаем RadAsm + пакеты
Дело это не хитрое. Нам необходимо пройти по этой ссылке: скачать саму среду. Далее нам нужен пакет поддержки языков ассемблеров. Можно ещё пройти по этой ссылке и скачать пакеты поддержки разных языков, если вы говорите например по португальски.
Шаг 2: Качаем компилятор
Кто-то когда то сказал такие слова: Компилятор – всему голова. И я с этим полностью согласен. Так что качаем его вот по этой ссылке для Windows 2000 и XP или вот по этой для Windows 95/98/ME. Скачали – установим.
Шаг 3: Установка компилятора
Установка проста как 5 копеек. При установке выберите диск C: . Делайте пока так, потом
переставите на другой диск как вам удобно, но желатель ставить в корень диска. То есть если вы поставите его например в C:\MyCompiler\SuperMASM32\MASM32 – ничего плохого не произойдет но и ничего хорошего тоже не выйдет. Итак поствили. Как только перед вами всплывает консоль (чёрненькая такая ) жмите любую клавишу – этим мы даём добро на сборку библиотек. Потом будет предложено нажать любую клавишу – жмём! Потом ещё раз. И ещё Всё, пакет программирования MASM32 в который входит и 32 битный компилятор MASM установлен в системе.
Шаг 4: Пропишем пути
Для этого: правый клик на Мой компьютер -> Свойства -> вкладка Дополнительно -> Переменные среды. Добавляем к переменной PATH такое значение:
;C:\MASM32\BIN
Именно с точкой с запятой в начале – этим мы отделяем значения от друг друга.
Шаг 5: Установка RadAsm
Распакуйте архив RadAsm.zip в любую удобную для вас папку. Допустим это будет C:\RadAsm\ . В эту же папку распаковываем архив Assembly.zip, а именно всё содержимое директории Assembly. То есть файлы masm.ini, fasm.ini, nasm.ini и т.д. включая все директории должны попасть в папку с установленным RadAsm, в нашем случаи – C:\RadAsm\ .
Шаг 6: Добавим новый язык
Запускаем RadAsm, заходим в Option -> Programming languages -> Внизу окошка нажимаем на троеточие (выбор) -> выбираем masm.ini -> нажимаем Add -> OK. Всё, настройка RadAsm для MASM32 завершена. Осталось проверить всё ли работает.
Шаг 7: Проверка
Делаем : File -> New Project -> Выбираем из выподающего списка MASM -> выбираем Win32 App -> Вводим название проекта и его описание -> DialogApp.tpl -> Next -> Next -> Finish. Теперь нажмём Ctrl+F5 (компиляция с запуском) и видим окошечко. Значит программа скомпилировалась и всё настроенно и поставленно верно. Если окошка нет – значит вы что-то пропустили. Вот и всё – надеюсь всё понятно. Если нет спрашивайте и комментируйте.

javampishu сказал
Большое спасибо за подробную инструкцию.
А какой отладчик Вы можете посоветовать и как его установить? :) Заранее спасибо.
devprog сказал
Тут смотря какой отладчик нужен, вернее для каких нужд. Если отлаживать драйверы то SoftIce от NuMega, а если 32битные приложения то мой выбор – это OllyDbg. Для 16 битных также SoftICE но можно использовать и отладчик Turbo Debugger поставляемый с любым продуктом от борланд.
Установка Olly очень тривиальна и не требует обьяснения. А вот SoftICE – дело десятое, если очень нужно то я конечно расскажу, но я бы рекомендовал начинающиму программисту использовать всётаки OllyDbg.
evgeniy сказал
Всё сделал как у Вас написано. Но почему-то почти не один example не компилится пишет:
» Make error(s) occured.»
и указывает на ошибку в строке:
«include \RadASM\Masm\Inc\Debug.Inc»
ещё бывает:
«LINK : fatal error LNK1104: cannot open file «masm32.lib»"
«error during process creation Masm32\Bin\DOSLNK.EXE»
но в этой директории нет DOSLNK.EXE
а бывает сначала не компилится а после 2-3 -ёх попыток получается.
Этот момент у меня получился «Шаг 7: Проверка»
от примера с opengl-ом вообще система зависла
да, кстати, я установил не на диск C:\ а на диск H:\ и потом пришлось править masm.ini
а может надо было ещё что-нибудь?
devprog сказал
У вас не компилируется вообще то нибудь????
>> “include \RadASM\Masm\Inc\Debug.Inc”
Пропишите этот путь в переменных PATH системы!
>> но в этой директории нет DOSLNK.EXE
Дайте ссылку, где вы скачали свой MASM32 ! По моему вы скачали не то что вам нужно!
Ivan_32 сказал
А такой же инструкции для настройки под FASM у вас нет?) Я никак настроить не могу.
evgeniy сказал
devprog сказал:
«У вас не компилируется вообще то нибудь????
>> “include \RadASM\Masm\Inc\Debug.Inc”
Пропишите этот путь в переменных PATH системы!
>> но в этой директории нет DOSLNK.EXE
Дайте ссылку, где вы скачали свой MASM32 ! По моему вы скачали не то что вам нужно!»
Спасибо! Действительно была проблема в PATH(я кроме того ещё неправильно там написал путь masm-a).
Но также повлияло то, что у меня было два masm-a(один из них я скачал по вашей ссылке — он и был мне нужен, а из-за другого была проблема).
Насчёт opengl-а: проблема была с дровами к видюхе(переустановил теперь работает)
По поводу DOSLNK.EXE — его действительно нет в директории masm/bin
DOSLNK.EXE — это линкер для сборки 16-битных программ.
Только вот ещё не понял какой мне нужен: я два пока что нашёл.
http://win32assembly.online.fr/files/Lnk563.exe
ftp://ftp.microsoft.com/developr/win32dk/sdk-public/LINK16.ZIP
первый что-то долго не линкует, а второй работает, но, по-моему, программа должна не так работать(которую он слинковал из примеров по masm) почти сразу завершается.
Devprog сказал
Ivan_32:
Следующая статья будет именно про это. Сегодня вечером или завтра днём.
devprog сказал
>> Только вот ещё не понял какой мне нужен: я два пока что нашёл.
Не совсем понял вас, вы хотите 32б виндовые программки компилировать 16б ассемблером? Качайте Хатчевый MASM32 отсюда http://website.assemblercode.com/masm32/m32v9r.zip
Если MASM нужен 16b то качайте с моей старенькой странички> http://robo9.xaker.name/asm/MASM613.ZIP
Да и кстати, что должна делать ваша программа? Как она должна себя вести?
evgeniy сказал
>>Да и кстати, что должна делать ваша программа? Как она должна себя вести?
это оказывается была STUB-программа.
А что Вы могли бы сказать про GoAsm? В сравнении с FASM, MASM, TASM.
Я читал, что из плюсов у него простой синтаксис и компактный код.
Devprog сказал
Я никогда не использовал GoAsm, так что, сказать что-то внятное скорее всего не смогу ) На синтаксис взглянул – предельно схож с MASM. Смотрел вот тут http://www.jorgon.freeserve.co.uk/GoasmHelp/GoAsm.htm . А вообще, неважно какой это ассемблер, главное, что ассемблер ;)
Аркадий сказал
Читаю что Вы пишете – дом2 вспоминается :)
лякa сказал
Спорить по этому поводуможно бесконечно, поэтому просто хочу поблагодарить автора. Спасибо!
tapakah сказал
Вообще, когда читаешь такое, посещает мысль, а ведь это ж так просто, ну почему я это не смог придумать Респект автору :)
кaмycя сказал
На самом деле, как говорится – Без пользы жить – безвременная смерть.