Blog. Just Blog

Как подключить компилятор FASM к Sublime Text

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Образ мышления: Assembler | Автор: ManHunter
Как подключить компилятор FASM к Sublime Text
Как подключить компилятор FASM к Sublime Text

После прикручивания синтаксиса Assembler к редактору Sublime Text 3, возникла необходимость добавить к нему и поддержку компилятора Flat Assembler (FASM). Задача немного осложнилась тем, что требовалось сделать два варианта компиляции: просто сборка исполняемого файла и сборка с последующим запуском. В результате получился небольшой плагин (package), с помощью которого компилятор Flat Assembler подключается к Sublime Text. Для установки распакуйте архив с плагином в папку редактора \Data\Packages с сохранением структуры каталогов. Горячие клавиши: Ctrl+B - компиляция, Ctrl+Shift+B - компиляция с последующим запуском (только для exe-файлов). В папке \Flat Assembler\FASM находится модифицированный компилятор Flat Assembler и все файлы из папки \INCLUDE официального дистрибутива. Вы можете обновлять эти файлы самостоятельно по мере необходимости. Также в файле \Default (Windows).sublime-keymap можно заменить кнопки запуска и компиляции на более привычные комбинации F9 и Ctrl+F9, как это сделано в FASM IDE.

Если используете расширение Package Control, то добавьте в него ссылку на мой репозиторий и устанавливайте расширение Flat Assembler через него. В этом случае все следующие обновления компилятора будут устанавливаться автоматически. Репозиторий:

https://www.manhunter.ru/autoupdate/packages.json
В репозитории всегда находится актуальная версия компилятора, тогда как здесь плагин может обновляться с некоторой задержкой.

Плагин для подключения компилятора FASM к Sublime Text 3Плагин для подключения компилятора FASM к Sublime Text 3

FASM.Compiler.for.Sublime.Text.3.zip (255,352 bytes)


Поделиться ссылкой ВКонтакте
Просмотров: 14377 | Комментариев: 23

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
ManHunter (01.06.2022 в 20:07):
Пиздец... ссылка в первом абзаце.
em0ji (01.06.2022 в 20:04):
Огромное спасибо за компилятор! Еще бы подсветку синтаксиса :)
Eka (25.02.2019 в 12:10):
Так, разобрался.
Есть же главная картинка этого поста :)
Для тех, у кого образ мышления еще не совсем Ассемблер :
Tools->Build System-> Flat Assembler
И будет вам счастье :)
Eka (25.02.2019 в 11:48):
Посмотрел в Packeges через Preferences->Browse Packages  для Flat Assembler указан путь:
C:\Users\$MyUserName\AppData\Roaming\Sublime Text 3\Packages\Flat Assembler
Eka (25.02.2019 в 10:39):
По нажатию Ctrl-b пишет "No build system" хотя все сделал как написал Андрей (06.12.2017 в 15:11)
Подскажите, пожалуйста, что надо изменить ?
Андрей (06.12.2017 в 15:11):
Тем кто не знает как устанавливать это расширение - пошаговая инструкция:

Чтобы установить расширение Package Control....
Заходим в прогу и открываем консоль View->Show Console.
Идём на страницу https://packagecontrol.io/installation, копируем там код :
(Код я уже скопировал, но он может устареть)

import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

Вставляем его в консоль. Enter.

Открываем Preferences->Package Control->Add Repository и добавляем репозиторий
http://www.manhunter.ru/autoup...ackages.json

Открываем Preferences->Package Control->Install Package и выбираем Flat Assembler от ManHunter`a.
Должно открыться новое окно с информацией о расширении.
Всё.
ManHunter (24.01.2017 в 12:46):
Проверил на чистой установке, все нормально. Синтаксис и подсветку тоже надо подключать.
Андрей (23.01.2017 в 11:39):
Здравствуйте!
Подскажите как поставить этот package?
Папки \Data\Packages я не нашёл. Есть только \Packages. Куда там распаковывать - не понятно. Тогда я поставил расширение Package Control.
Добавил ссылку в репозиторий. Установил через Install Package ваш плагин и ... ничего не изменилось. В Tools\Build System\ ассемблера не появилось.
Что я делаю не так?
ManHunter (12.10.2016 в 10:25):
В пакет из репозитория добавлены сообщения с изменениями версий. Они будут отображаться при установке обновлений. На сайте компилятор больше обновлять не буду, все обновления только через Package Control.
ManHunter (04.07.2016 в 13:47):
Компилятор обновлен до версии 1.71.54. Добавлен репозиторий для автоматической установки и обновления плагина через Package Control.
ManHunter (11.03.2015 в 10:54):
Не считаю нужным этого делать.
Kirill (11.03.2015 в 10:07):
ManHunter, а почему Вы не выкладываете свои наработки для редактора на http://packagecontrol.io? Учитывая, что Вы продолжаете обновлять свои наработки, не все могут узнать об обновлениях. Вот случайно наткнулся, что 1 марта плагин обновился. А так он бы прилетел сам через Package Control
ManHunter (12.07.2014 в 12:16):
Большое обновление. Добавлен тихий режим компиляции и подсветка ошибок в консоли, для этого ОБЯЗАТЕЛЬНО нужно обновить подсветку синтаксиса Ассемблера.
user (25.06.2014 в 01:59):
Значит, был неправ.
ManHunter (24.06.2014 в 17:28):
ЦитатаА так - тяжёлая программа..

Угу. Особенно если сравнить скорость загрузки и работы ST с какой-нибудь PHP-шной IDE типа PHPStorm или NuSphere PhpED.

ЦитатаА так - в подобных редакторах сильно не хватает разбора сообщений об ошибках компилятора и быстрой навигации по строкам программы, где эти ошибки.

Компилирую файл с ошибкой, в консоли подробный отчет компилятора:
http://pichosting.net/images/2...mkq3u7qj.png
Нажимаю F4 и мгновенно перехожу на строку с ошибкой. Если до этого файл с ошибкой не был открыт, он загружается в редактор. Что я делаю не так?

Надо же сперва изучить инструмент, только потом судить о его недостатках.
user (24.06.2014 в 16:32):
Напомнило топик:
_http://exelab.ru/f/index.php?action=vthread&forum=3&topic=228 50

По-честному, в этом сублиме впечатляет только уменьшенный макет текста программы, тот что справа, для быстрой навигации.
А так - тяжёлая программа..

P.S. - Ссылку побило. "228 50" - без пробела.

Вообще эти споры "удобно-неудобно" неуместны.
А так - в подобных редакторах сильно не хватает разбора сообщений об ошибках компилятора и быстрой навигации по строкам программы, где эти ошибки.
darkz (24.06.2014 в 16:00):
Цветной ide http://fasm.moy.su/load/2-1-0-8
ManHunter (24.06.2014 в 09:03):
Очередной холивар. Кому что нравится, тот тем и пользуется. Под мои задачи ST удобнее, я в любой момент могу сам дописать к нему весь необходимый функционал и именно в том виде, как мне надо. И задачи эти почти всегда находятся далеко за рамками домашних страничек из пары html-файлов.
Что касается моей рабочей среды. Для всех часто используемых конструкций давно написаны необходимые сниппеты, подключены файлы документации под рабочие языки программирования, включена подсветка синтаксиса. А отказ от автозавершения выглядит, мягко говоря, странно. Это же не напоминание программисту какой он тупой, это _значительное_ ускорение его работы как раз за счет исключения ненужной рутины.
Про необходимость открывать файлы по ссылке тоже впервые слышу. Загружается проект целиком, а в коде вообще отсутствует необходимость что-то инклудить, все вынесено в классы и грузится через __autoload.
UNDYING (24.06.2014 в 00:36):
Немного оффтопик.
ЦитатаПо сравнению с Sublime двухкрестовый Блокнот убогий чуть менее, чем полностью. Перешел с него и забыл как страшный сон.

Ну "двухкрестовый блокнот" это отдельная "песня". А как сам ST3? ЕМНИП, у него "идеология" - "код и ничего лишнего". Возможности вставки шаблонов, макросов, открытие файлов по ссылке (напр. "инклудов") - существуют ли и удобны ли?
Я, напимер, считаю автодополнение вешью лишней (что-то вроде - "я и так знаю что писать, не пытайтесь угадать за меня"). "Оно" может быть и полезно на итапе изучения, каких-нибудь "делфей" или "очередного вижуал студио", но, в основном, (для меня) вредно.
А подсветку синтаксиса, наоборот, - вполне себе удобной и нужной вещью.
Вставка шаблонов (под функцию, например) - удобно иметь такую возможность, но не обязательно ей пользоваться всегда и везде.
М.б., если будет время и желание, опишите свой "workplace"?
ManHunter (23.06.2014 в 15:53):
В моем варианте нет привязки к путям, все необходимое находится внутри пакета. Можно компилить хоть с флешки на любом компе.
Анатолий (23.06.2014 в 15:47):
Как раз после первого упоминания о Sublime в вашем блоге, окончательно на него перешел с npp, ничуть не жалею, т.к. тут всё выбрито и красивенько :D

Тоже был встал вопрос о компиляции, решил так: "New Build System" и в нём:
{
    "cmd": ["E:\\FASM\\FASM.EXE", "$file"],
    "working_dir":"E:\\FASM\\INCLUDE"
}

Компилит по "F7" и "Ctrl + B".

Спасибо за каркас с горячими клавишами, пойду апдейтить :)
ManHunter (23.06.2014 в 13:55):
По сравнению с Sublime двухкрестовый Блокнот убогий чуть менее, чем полностью. Перешел с него и забыл как страшный сон.
voila (23.06.2014 в 13:53):
о. боже, мастер, возвращайтесь на блоконет два плюса, я Вас умоляю!
Вы еще и пишите такие няшные плаги к нему, оооо ....
этот убогий саблайм — зло в чистом своем унитазном виде, уверяю Вас!

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.06 сек. / MySQL: 2 (0.0067 сек.) / Память: 4.5 Mb
Наверх