Assembler ide для linux

Assembler ide для linux

SASM (SimpleASM) — simple Open Source crossplatform IDE for NASM, MASM, GAS, FASM assembly languages. SASM has syntax highlighting and debugger. The program works out of the box and is great for beginners to learn assembly language. SASM is translated into Russian, English, Turkish (thanks Ali Goren), Chinese (thanks Ahmed Zetao Yang), German (thanks Sebastian Fischer), Italian (thanks Carlo Dapor), Polish (thanks Krzysztof Rossa), Hebrew (thanks Elian Kamal), Spanish (thanks Mariano Cordoba). Licensed under the GNU GPL v3.0. Based on the Qt.

To load SASM for Linux select your distribution and architecture (i386 / amd64) after following corresponding link.

Also you can build SASM from sources, placed in GitHub repository or download SASM in zip-archive for Windows.

If you are Mac user, this article about installing SASM on Mac may help you (thanks Brian R. Hall). Also see this discussion on GitHub Issues.

Contribute to SASM

PayPal and cards:

WebMoney: Z282016332582 or R331674303467

About the program

In SASM you can easily develop and execute programs, written in NASM, MASM, GAS or FASM assembly languages. Enter code in form and simply run your program. In Windows SASM can execute programs in separate window. Enter your input data in «Input» docking field. In «Output» field you can see the result of the execution of the program. Wherein all messages and compilation errors will be shown in the form on the bottom. You can save source or already compiled (exe) code of your program to file and load your programs from file.

SASM supports working with many opened projects – new files are opened and created in new tabs. At the exit from SASM current set of opened files saved. At the next start you can restore previous session. In settings you can set font, color scheme and initial text. SASM is translated into Russian, English, Turkish (thanks Ali Goren), Chinese (thanks Ahmed Zetao Yang), German (thanks Sebastian Fischer), Italian (thanks Carlo Dapor), Polish (thanks Krzysztof Rossa), Hebrew (thanks Elian Kamal), Spanish (thanks Mariano Cordoba). All dialog windows in SASM is docking — you can choose one of many positions of them position. Also it is possible to reassign the hotkeys.

Standard «Edit» menu extended with abilities to comment/uncomment piece of source code and to create/delete indent with 4 spaces (Tab/Shift+Tab).

In my program you can debug programs using the interface to the debugger gdb. You can watch values of variables and registers. Also you can set breakpoints and move through debugged program. In additional it is possible to perform any gdb command and see its result in the log on the bottom part of window.

SASM supports 4 working with assemblers — NASM, MASM, GAS and FASM in 2 modes — x64 and x86. You can choose mode in settings on «Build» tab. Also there you can change assembler and linker options and choose programs for assembling and linking.

Troubleshooting

If you have something does not work (errors occur when compiling, debugging, etc.), please read the chapter «Troubleshooting» in the help of the program (F1) or on the project Wiki on GitHub. Perhaps there you will find useful advice to solve your problems.

«io.inc» NASM macro library

SASM includes crossplatform input/output library «io.inc» for NASM. It contains I/O macro and 2 additional macro: CMAIN — entry point and CEXTERN for invoking functions, located in C language libraries («CEXTERN printf» for example).

Macro name Description
PRINT_UDEC size, data

PRINT_DEC size, data

Print number data in decimal representation. size – number, giving size of data in bytes — 1, 2, 4 or 8 (x64). data must be number or symbol constant, name of variable, register or address expression without size qualifier (byte[], etc.). PRINT_UDEC print number as unsigned, PRINT_DEC — as signed.
PRINT_HEX size, data Similarly previous, but data is printed in hexadecimal representation.
PRINT_CHAR ch Print symbol ch. ch — number or symbol constant, name of variable, register or address expression without size qualifier (byte[], etc.).
PRINT_STRING data Print null-terminated text string. data — string constant, name of variable or address expression without size qualifier (byte[], etc.).
NEWLINE Print newline (‘\n’).
GET_UDEC size, data

GET_DEC size, data

Input number data in decimal representation from stdin. size – number, giving size of data in bytes — 1, 2, 4 or 8 (x64). data must be name of variable or register or address expression without size qualifier (byte[], etc.). GET_UDEC input number as unsigned, GET_DEC — as signed. It is not allowed to use esp register.
GET_HEX size, data Similarly previous, but data is entered in hexadecimal representation with 0x prefix.
GET_CHAR data Similarly previous, but macro reads one symbol only.
GET_STRING data, maxsz Input string with length less than maxsz. Reading stop on EOF or newline and «\n» writes in buffer. In the end of string 0 character is added to the end. data — name of variable or address expression without size qualifier (byte[], etc.). maxsz — register or number constant.

Implementation

Windows

As NASM assembler used nasm 2.11.02, as linker — gcc 4.6.2 from MinGW (gcc 4.8.1 from MinGW64 in x64 mode) or ld 2.22 from MinGW (ld 2.23.2 from MinGW64 in x64 mode).

SASM 3.0 and greater contains fasm 1.71.39 and gas 2.23.1 from MinGW (gas 2.23.2 from MinGW64).

Also SASM contains gdb debugger from MinGW and «io.inc» macro library.

All assemblers (excluding MASM) are included in SASM and you can use they right away after their choice. MASM assembler can not be included in the assembly because of its license. To use it, you should install MASM on your computer from site https://www.masm32.com/ and specify path to MASM assembler (ml.exe, path usually «C:/masm32/bin/ml.exe») and to MASM linker (link.exe, path usually «C:/masm32/bin/link.exe») in according fields on «Build» tab in settings.

On Windows SASM is ready for work immediately after installation.

Linux

For correct working on Linux must be installed next packages: nasm or gas (if you will use they, fasm already included in SASM), gcc, gdb (for debugging). MASM in Linux is not supported.

More information about SASM you can see on project Wiki on GitHub.

Changelog:

13.02.2021 — version 3.12.1 (zip, exe):

  • Fix for debugging with modern NASM versions.

08.02.2021 — version 3.12.0 (zip, exe):

  • Run and debug in current code directory if code is saved (for convenient file i/o).
  • UTF-8 support.
  • Qt 5 support for Linux.
  • Portuguese language (thanks alglus).
  • GET_DEC writing in incorrect memory on Windows fix.

03.02.2020 — version 3.11.1 (zip, exe):

  • Fix for uncomment keyboard shortcut.

31.01.2020 — version 3.11.0 (zip, exe):

  • Bugs in interaction with GDB 8 fixed.
  • Register parsing bug fixed.
  • Crashing after clicking in memory window fixed (thanks Hofmer13).
  • Debug hotkey miss bug fixed.
  • Bug that prevented to open files without extension fixed.
  • Saving file before building feature added.
  • Search for selected text feature added.
  • Italian translation fixed (thanks Mek101).

08.10.2018 — version 3.10.1 (zip, exe):

  • Fix for lack of macro object in the linking options after 3.10.0 update.

01.10.2018 — version 3.10.0 (zip, exe):

  • BSD OS support (thanks Martinfx).
  • Fix for not working debugging on systems where gcc has default PIE option (thanks lberserq).
  • Spanish language added (thanks Mariano Cordoba).
  • Small settings usability fixes.

12.09.2017 — version 3.9.0 (zip, exe):

  • More convinient memory expression watches have been added.
  • Debugger crash bug has been fixed (thanks lberserq).
  • Polish language translation has been added (thanks Krzysztof Rossa).
  • Hebrew language translation has been added (thanks Elian Kamal).

19.02.2017 — version 3.8.0 (zip, exe):

  • Registers parsing while debugging has been improved.
  • Build in current directory option has been added.
  • Italian language translation has been added.

30.10.2016 — version 3.7.0 (zip, exe):

  • Chinese language has been added.
  • German language has been added.
  • Bug with single application crashes has been fixed.
  • Bug with unprintable characters in program output has been fixed.

25.09.2016 — version 3.6.0:

  • Turkish language has been added.
  • Tab key action has been improved.

26.08.2016 — version 3.5.1:

  • Drag & drop bug, debugging bug and some small bugs have been fixed.

19.03.2016 — version 3.5.0:

  • GoLink linker support.
  • Bug with wrong file names when saving and opening has been fixed.

11.02.2016 — version 3.4.0:

  • Ability to change line number font color.
  • Ability to switch off debug string insertion.

27.01.2016 — version 3.3.0:

  • Single window mode.
  • Drag & drop for file opening.
  • Improved help: extended troubleshooting chapter and new building system settings chapter.
  • A lot of bugs have been fixed including bug with non-native paths on Windows and bug with FPU registers showing.

14.06.2015 — version 3.2.0:

  • Ability to build programs without running linker.
  • New FASM 1.71.39.
  • Fix of some debug problems.

27.05.2015 — version 3.1.4: fix of localized systems debug problem.

30.03.2015 — version 3.1.3: showing description of received signal has been added.

27.03.2015 — version 3.1.2: debugging files with include has been improved.

24.03.2015 — version 3.1.1: bugs with syntax higlighting have been fixed.

29.08.2014 — version 3.1.0: changes from pull requsts and issues from GitHub — movable tabs, warning message for wrong assembler or linker executable, improve indent operation, noexecstack option for binaries in Linux.

24.07.2014 — version 3.0.1: additional registers view in debugger has been added.

13.07.2014 — version 3.0:

  • New assemblers have been added: now NASM, GAS, MASM, FASM are supported, including syntax highlighting, debugging, and x86/x64 modes. Added ability to choose your own assembler or linker filling path to them.
  • Many improvements in debugging. Now it is possible to debug programs even without debugging information for GDB (for example, written in MASM). The ability to suspend the program has been added, as well as set a breakpoint during its execution. Added folder for include files.
  • Fixed problem with text editor leads to a heavy load on the processor while opening big files. Fixed a bug with the disruption of the interface after opening the settings window. Fixed many minor bugs and errors.

23.04.2014 — version 2.3.1: bug with spaces in the path to temporary directory was fixed (now SASM works on Windows XP).

03.04.2014 — version 2.3:

  • Abilities of mode selection (x64 or x86) and assembler and linker options change were added. Added tools for compilation and debugging 64-bit code.
  • 64-bit instruction and registers and NASM macro assembler highlighting was implemented. «io.inc» library adapted for using in 64-bit applications.
  • Many bugs were fixed.

16.02.2014 — version 2.2:

  • Significantly improvements of SASM interface and usability. Full color and syntax highlighting customization. All widgets become docking windows with many variants of them location. Register and memory widgets improved, ability of saving their state. Icons and toolbars added.
  • Breakpoints improved. Macro debugging improved.
  • Hotkeys improvements and ability of them rebinding.

13.11.2013 — version 2.1:

  • Many bugs fixed, compatibility problems fixed — installation packages for a lot of Linux systems created, compatibility with Qt 4 added, making from sources improved.
  • Many improvements added, functionality expanded. In debugger added: registers and memory watches, breakpoints, continue command; improved: performing gdb commands, current line highlighting, sequential output in debugging, «io.inc» macro changed.
  • Compilation in temporary folder. Mark of unsaved document. Sequential output in programs. Status of finishing of program. Time of execution of program. Font choosing.
  • Help updated. New icon. Yet many minor improvements and features.

04.06.2013 — version 2.0: debugger has implemented, highlighting has been improved, many files support added, SASM (new name) has been rewrited on Qt and has become Open Source and crossplatform. Sources and new site is placed on GitHub.

21.04.2013 — version 1.0.4 — CEXTERN bug fixed.

18.03.2013 — version 1.0.3 — highlighting bug fixed, MASM bug fixed.

10.03.2013 — version 1.0.2 — bugs fixed, code autosaving added.

07.03.2013 — first version of SASM — 1.0.0.

Источник

Assembler ide для linux

English version of site here.

SASM (SimpleASM) — простая кроссплатформенная среда разработки для языков ассемблера NASM, MASM, GAS, FASM с подсветкой синтаксиса и отладчиком. В SASM Вы можете легко разрабатывать и выполнять программы, написанные на языке ассемблера. Вводите код в форму и запускайте приложение. Программа работает «из коробки» и хорошо подойдет для начинающих изучать язык ассемблера. Основана на Qt. Распространяется по свободной лицензии GNU GPL v3.0.

Для загрузки программы на Linux перейдите по соответствующей ссылке и выберите ваш дистрибутив и архитектуру (i386 / amd64).

Вы также можете собрать SASM из исходников, которые можно найти в GitHub репозитории или скачать SASM в zip-архиве для Windows.

Если Вы пользователь Mac, возможно, Вам поможет эта заметка об установке SASM на Mac (спасибо Brian R. Hall), а также это обсуждение в GitHub Issues.

Поддержите проект

WebMoney: Z282016332582 и R331674303467

О программе

В SASM Вы можете легко разрабатывать и выполнять программы, написанные на языках ассемблера NASM, MASM, GAS, FASM. Вводите код в форму и запускайте приложение. В Windows также возможен запуск приложения в отдельном окне. Входные данные указывайте в поле «Ввод». В поле «Вывод» Вы сможете увидеть результат работы программы. При этом все сообщения и ошибки компиляции будут выводиться в форму снизу. Вы можете сохранять исходный или скомпилированный (exe) код программы в файл, а также загружать свои программы из файла.

Программа поддерживает работу с несколькими проектами – новые файлы открываются и создаются в новых вкладках. При выходе из программы текущий набор открытых файлов сохраняется. При следующем запуске Вы сможете восстановить предыдущую сессию. В параметрах настраивается шрифт, цветовая схема и текст, отображающийся при создании нового файла. Интерфейс программы доступен на восьми языках (русский, английский, турецкий (спасибо Ali Goren), китайский (спасибо Ahmed Zetao Yang), немецкий (спасибо Sebastian Fischer), итальянский (спасибо Carlo Dapor), польский (спасибо Krzysztof Rossa), иврит (спасибо Elian Kamal), испанский (спасибо Mariano Cordoba)). Все окна в программе плавающие, с возможностью закрепления в одной из множества позиций. Имеется возможность переназначения горячих клавиш.

Стандартное меню «Правка» дополнено возможностью комментирования/раскомментирования выделенного куска кода и создания/удаления отступа в 4 пробела (Tab/Shift+Tab).

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

SASM полностью поддерживает работу с четырьмя ассемблерами NASM, MASM, GAS, FASM в двух режимах — x64 и x86, переключаться между которыми можно в настройках на вкладке «Построение». Там же можно изменить опции ассемблера и компоновщика и выбрать, какие программы будут использоваться для ассемблирования и компоновки.

Устранение неполадок

Если у Вас что-то работает не так (происходят ошибки при компиляции, отладке и др.), пожалуйста, прочитайте главу «Устранение неполадок» в справке в программе (F1) или в Wiki проекта на GitHub. Возможно, там Вы сможете найти полезный совет для решения Вашей проблемы.

Библиотека макросов для NASM «io.inc»

В программу включена библиотека макросов для NASM «io.inc». В ней есть кроссплатформенные команды ввода-вывода и макросы: CMAIN — точка входа и CEXTERN для доступа к внешним функциям на языке C. Подробнее о ее командах Вы можете узнать здесь или ниже.

Имя макроса Описание макроса
PRINT_UDEC size, data

PRINT_DEC size, data

Вывод числовых данных заданных параметром data в 10-чном представлении. Параметр size – число, указывающее размерность данных в байтах; допускаются значения 1, 2, 4, 8 (x64). В качестве параметра data может выступать числовая константа, символьная константа, имя переменной, имя регистра или адресное выражение (без спецификатора размера данных в памяти). Если задается регистр большего размера, то берется заданное параметром size количество младших разрядов. PRINT_UDEC интерпретирует число как беззнаковое, PRINT_DEC — как знаковое.
PRINT_HEX size, data Аналогично предыдущему, но данные выводятся в 16-чном представлении.
PRINT_CHAR ch Печатается символ, заданный параметром ch. В качестве параметра может выступать численная константа, символьная константа, имя переменной, имя регистра или адресное выражение (без спецификатора размера данных в памяти). Печатается всегда содержимое 8 младших разрядов.
PRINT_STRING data Печать строки текста, оканчивающейся символом с кодом 0. В качестве параметра можно передавать строковую константу, имя переменной или адресное выражение (без спецификатора размера данных в памяти). В случае печати строковой константы, наличие символа с кодом 0 в конце строки необязательно.
NEWLINE Макрос переводит печать на новую строку.
GET_UDEC size, data

GET_DEC size, data

Ввод числовых данных в 10-чном представлении с клавиатуры. Размер вводимых данных ограничен параметром size, который задается числом (1, 2, 4, 8 (x64)). Введенные данные обрезаются соответствующим образом. Параметр data – либо имя переменной, либо имя регистра, либо адресное выражение (без спецификатора размера данных в памяти). Если задается регистр большего размера, то старшие разряды заполняются знаковым битом в случае GET_DEC и нулями в случае GET_UDEC. GET_UDEC считывает беззнаковое число, GET_DEC — знаковое. Запрещается использовать в качестве параметра регистр esp.
GET_HEX size, data Аналогично предыдущему, но данные задаются в 16-чном представлении с префиксом 0x.
GET_CHAR data Аналогично предыдущему, но происходит считывание одного символа, нажатие Enter не требуется. Более того, нажатие Enter будет расцениваться как ввод управляющих символов перевода строки: 0xD 0xA в ОС Windows, 0xA в ОС *nix. Если параметр – регистр, размер которого больше 1 байта, значение считанного символа будет дополнено нулями.
GET_STRING data, maxsz Ввод последовательности символов длиной не более чем (maxsz-1). Чтение последовательности останавливается на EOF или переводе строки, причем перевод строки сохраняется в буфере. В конец считанной строки добавляется символ с кодом 0. Параметр data – либо имя переменной, либо адресное выражение (без спецификатора размера данных в памяти). Параметр maxsz – регистр или числовая константа.

Реализация

Windows

В качестве ассемблера для NASM используется nasm 2.11.02, в качестве компоновщика — gcc 4.6.2 из MinGW (gcc 4.8.1 из MinGW64 в режиме x64) или ld 2.22 из MinGW (ld 2.23.2 из MinGW64 в режиме x64).

Версии ассемблеров и компоновщиков для NASM подобраны с учетом рекомендуемых программ для курса «Архитектура ЭВМ и язык ассемблера» ВМК МГУ 1-го потока.

Также в программу включен отладчик gdb 7.4 (7.6 для x64) из пакета MinGW и немного измененная для отладки библиотека макросов ввода-вывода.

Начиная с версии 3.0, в SASM включены fasm 1.71.39 и gas 2.23.1 из MinGW (gas 2.23.2 из MinGW64).

Ассемблер MASM невозможно было включить в сборку из-за его лицензии. Чтобы им воспользоваться, Вы должны установить MASM на Ваш компьютер с сайта https://www.masm32.com/ и указать пути до ассемблера (ml.exe, путь обычно «C:/masm32/bin/ml.exe») и до компоновщика (link.exe, путь обычно «C:/masm32/bin/link.exe») в соответствующих полях на вкладке «Построение».

Под Windows SASM после установки сразу готов к работе.

Linux

Для работы программы на Linux должны быть установлены: nasm или gas (если их планируется использовать, fasm уже включён в сборку), gcc, gdb (для отладки).

Больше информации о программе и её использовании можно получить в Wiki проекта на GitHub.

История изменений:

13.02.2021 — версия 3.12.1 (zip, exe):

  • Исправленa отладка при использовании с новыми версиями NASM.

08.02.2021 — версия 3.12.0 (zip, exe):

  • Запуск и отладка теперь проводятся в директории с текущим исходником (для удобного файлового ввода-вывода).
  • Поддержка UTF-8 по умолчанию.
  • Поддержка Qt 5 для Linux.
  • Португальский язык (спасибо alglus).
  • Исправлен некорректный доступ к памяти в макросе GET_DEC на Windows.

03.02.2020 — версия 3.11.1 (zip, exe):

  • Исправлена ошибка с горячей клавишей для раскомментирования.

31.01.2020 — версия 3.11.0 (zip, exe):

  • Исправлены ошибки при отладке в GDB 8.
  • Исправлен разбор регистров.
  • Исправлена ошибка, приводящая к падению при клике в окне «Память» (спасибо Hofmer13).
  • Исправлена ошибка, при которой пропадала горячая клавиша отладки.
  • Исправлена ошибка с открытием файлов без расширений.
  • Добавлено сохранение файла перед сборкой.
  • Добавлен поиск выделенного текста.
  • Исправлен перевод на итальянский (спасибо Mek101).

08.10.2018 — версия 3.10.1 (zip, exe):

  • Исправлена ошибка, при которой из компоновки исключались файлы, необходимые для работы функций ввода-вывода библиотеки «io.inc».

01.10.2018 — версия 3.10.0 (zip, exe):

  • Поддержка BSD OS (спасибо Martinfx).
  • Исправлена ошибка, приводящая к неработоспособности отладчика при использовании gcc с опцией PIE по умолчанию (спасибо lberserq).
  • Добавлена поддержка испанского языка (спасибо Mariano Cordoba).
  • Небольшие исправление в настройках программы.

12.09.2017 — версия 3.9.0 (zip, exe):

  • Более удобный просмотр значений по адресу.
  • Исправлена ошибка, приводящая к падению отладчика (спасибо lberserq).
  • Добавлена поддержка польского языка (спасибо Krzysztof Rossa).
  • Добавлена поддержка иврита (спасибо Elian Kamal).

19.02.2017 — версия 3.8.0 (zip, exe):

  • Улучшен разбор регистров при отладке.
  • Добавлена опция запуска ассемблера в текущей директории.
  • Добавлена поддержка итальянского языка.

30.10.2016 — версия 3.7.0 (zip, exe):

  • Добавлена поддержка китайского языка.
  • Добавлена поддержка немецкого языка.
  • Исправлена ошибка, приводящая к невозможности повторного запуска программы после аварийного завершения.
  • Исправлена ошибка, при которой вывод программ, содержащий непечатные символы, не отображался полностью.

25.09.2016 — версия 3.6.0:

  • Добавлена поддержка турецкого языка.
  • Улучшено добавление отступов при нажатии клавиши Tab.

26.08.2016 — версия 3.5.1:

  • Исправлены ошибки с отладкой, drag & drop и другие мелкие ошибки.

19.03.2016 — версия 3.5.0:

  • Поддержка компоновщика GoLink.
  • Исправлена ошибка с неправильным именем файла при отркытии или сохранении.

11.02.2016 — версия 3.4.0:

  • Изменение цвета номеров строк.
  • Возможность отключения автоматической вставки отладочной строки.

27.01.2016 — версия 3.3.0:

  • Однооконный режим.
  • Функция drag & drop для открытия файлов. Чтобы открыть файл, можно просто перетащить его на окно программы.
  • Улучшенная справка: расширена часть «Устранение неполадок», добавлена часть «Настройка системы сборки».
  • Исправление множества ошибок, включая ошибку с системно-зависимыми путями и ошибку при показе регистров x87 FPU.

14.06.2015 — версия 3.2.0:

  • Добавлена возможность отключения запуска компоновщика.
  • Обновлён FASM: новая версия 1.71.39.
  • Исправлены некоторые ошибки, возникающие при отладке.

27.05.2015 — версия 3.1.4: исправлена ошибка, возникающая при использовании в системе локализованной версии objdump.

30.03.2015 — версия 3.1.3: добавлено отображение информации о полученных программой сигналах (в т. ч. об ошибках, возникающих в ходе её работы) при отладке.

27.03.2015 — версия 3.1.2: улучшена работа при отладке файлов с директивой include.

24.03.2015 — версия 3.1.1: исправлены ошибки с подсветкой синтаксиса.

29.08.2014 — версия 3.1.0: изменения из pull requsts и issues на GitHub — перемещаемые вкладки, сообщения об ошибках при неправильном ассемблере или компоновщике, улучшенная отмена и постановка отступа в 4 пробела, опция noexecstack для исполняемых файлов в Linux.

24.07.2014 — версия 3.0.1: добавлена возможность просмотра дополнительных регистров (xmm, st и других).

13.07.2014 — версия 3.0:

  • Добавлена поддержка новых ассемблеров, кроме NASM — GAS, MASM, FASM, включая подсветку синтаксиса, отладку и поддержку архитектур x86 и x64. Появилась возможность выбрать вручную ассемблер и компоновщик, а также изменить опции сборки программы.
  • Значительно улучшена работа отладчика, стало возможным отлаживать программы даже без отладочной информации для GDB (например, написанные на MASM). В отладчике добавлена возможность приостановить программу, а также установить точку останова во время её выполнения.
  • Добавлена папка для include файлов.
  • Исправлены проблемы с загрузкой процессора текстовым редактором при открытии больших файлов с исходным кодом. Исправлена ошибка с нарушением работы интерфейса после открытия окна настроек. Исправлено множество мелких ошибок и недочетов.

23.04.2014 — версия 2.3.1: исправлена ошибка, возникающая при наличии пробелов в пути до временной директории (в частности восстановлена работа SASM на Windows XP).

03.04.2014 — версия 2.3:

  • Добавлена возможность выбора режимов x64 или x86 и изменения опций ассемблера и компоновщика. Добавлен инструментарий для компиляции и отладки 64-битного кода. Реализована подсветка 64-битных регистров и команд. Библиотека «io.inc» адаптирована для использования в 64-битных приложениях.
  • Добавлена подсветка команд макроассемблера NASM.
  • Исправлено множество мелких ошибок, в том числе улучшено отображение окна переменных при отладке, исправлена ошибка при считывании в стек макросами из «io.inc».

16.02.2014 — версия 2.2:

  • Значительно улучшен интерфейс программы и её юзабилити, исправлено множество ошибок. Добавлены выбор цветов фона и текста, а также полная настройка подсветки синтаксиса. Окна ввода-вывода и отладки стали плавающими (docking) окнами с многочисленными вариантами их расположения. Улучшены виджеты отображения регистров и памяти (добавлены автоподгонка под текст и возможность копирования), сделана возможность запоминания их состояния. Улучшен механизм точек останова — добавлена возможность остановки на метке (на строке с кодом ниже) и возможность её установки по горячей клавише. Улучшена отладка макросов — теперь они неотличимы от обычных инструкций. К действиям добавлены иконки, сделаны тулбары.
  • Комбинации горячих клавиш приведены в соответствие со стандартными, добавлена возможность их переназначения.

13.11.2013 — версия 2.1:

  • Исправлено множество ошибок, исправлены проблемы совместимости — созданы установочные пакеты для многих Linux-систем на OBS, налажена совместимость с Qt 4, а также упрощена сборка из исходников.
  • Сделано много улучшений, расширена функциональность. В частности, в отладчике — добавлены: просмотр регистров, просмотр памяти, точки останова и команда «продолжить»; улучшены: выполнение произвольных команд gdb, подсветка текущей строки, последовательный вывод во время отладки (изменены макросы io.inc).
  • Компиляция теперь выполняется во временных папках — пропала необходимость в специальных правах при запуске программы.
  • Добавлена отметка о несохраненном документе. Добавлен последовательный вывод в программах. Добавлено отображение статуса завершения программы. Добавлен вывод времени работы программы. Добавлен выбор шрифта.
  • Обновлена справка. Сделана новая иконка. Еще множество минорных улучшений и исправлений.

04.06.2013 — версия 2.0: сделаны все запланированные изменения — реализован отладчик, улучшена подсветка, стало возможно работать с несколькими файлами, SASM (новое название) полностью переписан на Qt и теперь с открытым кодом и кроссплатформен. Исходники выложены на GitHub, сюда же переехал и сайт. Если Вам нужны более ранние версии программы, Вы можете их найти на предыдущем сайте.

21.04.2013 — версия 1.0.4 — исправлена ошибка с CEXTERN.

18.03.2013 — версия 1.0.3 — исправлены ошибки подсветки синтаксиса, теперь подсвечиваются все ключевые слова NASM, исправлен запуск программ на MASM.

10.03.2013 — версия 1.0.2 — исправлены ошибки, добавлено автосохранение кода и пути.

07.03.2013 — появилась первая версия программы — 1.0.0.

Источник

Читайте также:  Нет ползунка включения bluetooth windows 10
Оцените статью