Язык ассемблера напрямую зависит от набора команд и архитектуры процессора. Для того, чтобы следовать данному руководству, вам понадобятся:
дистрибутив операционной системы Linux (например, Debian или Ubuntu);
копия программы ассемблера NASM.
Есть много хороших программ ассемблера, таких как:
Microsoft Assembler (MASM);
Borland Turbo Assembler (TASM);
The GNU assembler (GAS).
Мы будем использовать ассемблер NASM, так как он:
бесплатный. Вы можете скачать его c различных веб-ресурсов;
хорошо документированный. В Интернете вы сможете найти много информации по нему;
кроссплатформенный. Его можно использовать как на Linux, так и на Windows.
Установка NASM
Если при установке Linux вы устанавливали «Инструменты разработки», то NASM у вас уже установлен. Чтобы проверить, установлен ли у вас NASM, выполните следующие действия:
откройте терминал;
введите команду whereis nasm
и нажмите ENTER.
Если он у вас установлен, то вы увидите примерно следующее:
Если же вы увидели:
nasm:
То NASM у вас не установлен, и его потребуется установить.
Чтобы установить NASM, выполните следующие шаги:
откройте терминал;
введите sudo apt install nasm
.
Редактор Visual Studio Code
Я рекомендую установить универсальный редактор кода Visual Studio Code. Он позволит вам не только удобно писать на ассемблере под Linux, но и на других языках.
Для установки вам нужно перейти на официальный сайт Microsoft Visual Studio Code, пролистать страницу вниз и скачать версию .deb:
После того, как VS Code будет установлен, вам нужно будет:
запустить его;
нажать комбинацию клавиш Ctrl+P
;
ввести в появившемся окне ext install 13xforever.language-x86-64-assembly
.
Можно использовать WSL2 с Ubuntu и Visual Studio Code для написания кода на Windows и компиляции через терминал под Linux, при этом можно использовать луюбую папку на Windows. Получается очень удобно.
Ввожу sudo apt install nasm, ввожу свой пароль, и пишет: turbo_mishka отсутствует в папке sudoers. Данное действие будет занесено в журнал
Ответ на данный вопрос здесь — https://ravesli.com/v-chem-raznitsa-mezhdu-su-i-sudo-v-linux/#toc-5
Молодец автор этих уроков! А-то, что ни глянь и тут тоже — все под окна заточена, хорошо что тут о Linux написано. Спасибо.
Изучаю сейчас эти уроки и могу сказать следующее: те, кто не хочет переходить на linux из windows, вполне могут воспользоваться wsl 2 версии.
Для vim нужно добавить в .vimrc (init.vim для neovim)
let g:asmsyntax = 'nasm'
О, полезное замечание! 🙂
Очень жду уроков, пока книгу читаю по Nasm
Какую, если не секрет. Кроме Столярова есть ещё что-нибудь?
О жду продолжения) Правда постараюсь на винде это все делать)
Не выйдет. Эти уроки учат использованию ассемблера именно под линукс. Это не C++, здесь от платформы зависит практически все.
уважаемый автор, чтобы продолжить изучение, я должен буду установить рядом с Окнами ещё и Линукс. Я правильно понял?
Да, но вы можете пользоваться онлайн компиляторами. Их список представлен в следующих статьях.
Нет, там же написано, что nasm кроссплатформенный