Найти в Дзене
Old Programmer

Ассемблеры платформы x86. Не большой обзор (книга)

Здесь все ссылки на материалы Old Programmer. А вот это ссылки на все мои статьи, где есть язык ассемблер . Рекомендую также познакомиться со структурой моего канала. А это ссылка на мой канал по Python Публикую отрывок из моей новой книги книги Ассемблер для Linux. На самом деле это несколько переделанная статья, которая здесь уже была. Просто теперь работаю над новой книгой и переделываю часть старых материалов. Параграф 1.3. Обзор ассемблеров Ассемблер TASM Пакет TASM (Turbo Assembler) это программный продукт компании Borland, предназначенный для создания программного обеспечения на языке ассемблера. В первые вышел в 1989 году. Особенностью данного ассемблера всегда была быстрота трансляции и обширный набор макросредств. Кроме поддержки стандартного режима совместимого с ассемблером MASM (Microsoft) данный ассемблер поддерживал также расширенный режим IDEAL. Несмотря на то, что уже много лет Turbo Assembler не поддерживается корпорацией Borland, он до сих пор популярен в круг
Оглавление

Здесь все ссылки на материалы Old Programmer. А вот это ссылки на все мои статьи, где есть язык ассемблер . Рекомендую также познакомиться со структурой моего канала.

  • Список разделов канала Old Programmer, канала о программировании и программистах
  • Книга "Ассемблер для Linux"

А это ссылка на мой канал по Python

programmer's notes

Публикую отрывок из моей новой книги книги Ассемблер для Linux. На самом деле это несколько переделанная статья, которая здесь уже была. Просто теперь работаю над новой книгой и переделываю часть старых материалов.

Параграф 1.3.

Обзор ассемблеров

Ассемблер TASM

Пакет TASM (Turbo Assembler) это программный продукт компании Borland, предназначенный для создания программного обеспечения на языке ассемблера. В первые вышел в 1989 году. Особенностью данного ассемблера всегда была быстрота трансляции и обширный набор макросредств. Кроме поддержки стандартного режима совместимого с ассемблером MASM (Microsoft) данный ассемблер поддерживал также расширенный режим IDEAL. Несмотря на то, что уже много лет Turbo Assembler не поддерживается корпорацией Borland, он до сих пор популярен в кругах программистов. Долгое время TASM входил в пакеты Delphi и C++ Builder. В пакет TASM входили утилиты поддержки программирования на ассемблере: tlink.exe – компоновщик, tlib.exe – библиотекарь, make .exe – программа для автоматизации процесса трансляции. Скорость компиляции программ TASM в 2-3 превосходила скорость популярного когда-то ассемблера MASM.

Степаном Половниковым была сделана попытка реанимации (одним из авторов этот процесс был назван «реинкарнацией»). Новый продукт, созданный на основе TASM, называется Lazy Assembler (LZASM - ленивый ассемблер). Сайт поддержки этого ассемблера некоторое время располагался по адресу http://lzasm.hotbox.ru/. В настоящее время он там отсутствует, но его архивы можно найти здесь https://web.archive.org/web/20071024143102/http://lzasm.hotbox.ru/. Сайт о IDE для компилятора TASM можно найти здесь http://gri-software.ru/tasmvisual.html.

Ассемблер MASM

Ассемблер MASM (Microsoft макроассемблер) предназначен для x86 микропроцессоров и ведет свою историю с 1981 года. Первоначально был создан корпорацией Microsoft для программирования в операционной системе MS DOS. Долгое время он конкурировал по популярности с ассемблером TASM, пока, наконец, последний ни ушел в небытие. В дальнейшем MASM был адаптирован для программирования в операционной системе Windows. В настоящее время корпорация Microsoft распространяет пакет MASM в составе пакета Visual Studio.NET (в настоящее время выпущена 64-битовая версия MASM и 64-битовый компоновщик link.exe). Кроме этого существуют независимые группы разработчиков, поддерживающие MASM32. Одну из таких групп возглавляет Стив Хатчессон (https://www.masm32.com/). Пакет MASM32, который поддерживается данной группой, содержит большое количество примеров, библиотек, документации и утилит. Де факто пока MASM среди других ассемблеров является в настоящее время законодателем мод в области программирования в операционной системе Windows на ассемблере. К сожалению отдельного пакета MASM64 пока еще не существует, хотя потребность в этом есть.

Ассемблер FASM

FASM - Flat Assembler (можно перевести как "Простой ассемблер") - свободно-распространяемый многопроходный ассемблер. Автор Томаш Гриштар (Tomasz Grysztar). Ассемблер написан на себе самом, поэтому является одним из самых быстрых ассемблеров. Ассемблер обладает богатыми возможностями: обширный макро-аппарат, поддержка основных форматов объектных исполняемых модулей. В большинстве случаев FASM позволяет обходиться без компоновщика. Но с ним можно использовать и обычные компоновщики (например, link.exe ), поскольку ассемблер поддерживает основные форматы объектных модулей. Сетевая поддержка ассемблера http://flatassembler.net (см. также русскоязычный сайт http://fasmassembler.narod.ru ). FASM многоплатформенный ассемблер – на нем можно программировать и в Windows и в Unix-системах. В настоящее время пожалуй самый популярный многоплатформенный ассемблер.

Ассемблер NASM

Ассемблер NASM (от английского Netwide Assembler) – свободно распространяемый ассемблер (лицензия GNU LGPL). Ассемблер может быть использован для написания 16-, 32-, 64-битовых программ для различных платформ. NASM был создан Саймоном Тэтхемом совместно с Юлианом Холлом и в настоящее время развивается маленькой командой разработчиков. Первоначально он был выпущен по его собственной лицензии, но позже эта лицензия была изменена на GNU LGPL после множества проблем, вызванных выбором лицензии. Ассемблер поддерживает множество форматов для различных операционных систем, что позволяет вести разработку для одной операционной системы, используя другую операционную систему. Сетевую поддержку NASM см. http://www.nasm.us (см. также http://www.opennet.ru/docs/RUS/nasm). По популярности близок к ассемблеру FASM.

Ассемблер YASM

Название YASM имеет несколько возможных истолкований: Yes, it’s an ASseMbler, Yet Another aSseMbler, Your fAvorite aSseMbler и др. Данный ассемблер выпускается под лицензией BSD. Ассемблер YASM это полностью переписанный ассемблер NASM, поддерживает его синтаксис директив. В настоящее время он развивается Питером Джонсоном и Майклом Ерманом. Будучи динамично развивающимся проектом, YASM предлагает прямую поддержку пользователей, которые ищут новые особенности. Кроме Intel-синтаксиса, применяемого, например, в NASM, YASM также поддерживает и AT&T синтаксис, распространенный в Unix-системах. Ассемблер YASM построен модульно, что позволяет легко добавлять новые формы синтаксиса, препроцессоры и т.п. Сетевая поддержка http://www.tortall.net/projects/yasm.

Ассемблер RosAsm

Ассемблер RosAsm — 32-битовый Win32 x86 ассемблер, выпущенный согласно лицензии GNU GPL. Проект RosAsm поддерживает операционную систему ReactOS (ReactOS — свободная и бесплатная операционная система с открытым кодом, совместимая на уровне объектного кода с приложениями и драйверами Windows NT версии 5.x и выше). RosAsm производится вместе с интегрированной средой программирования, в которую входят ассемблер, компоновщик, отладчик, редактор ресурсов, дизассемблер. Дополнительную информацию об ассемблере и скачать его и все необходимые компоненты можно с сайта https://web.archive.org/web/20040602212238/http://betov.free.fr/RosAsm.html. В настоящее время проект не развивается.

Выбери оружие
Выбери оружие

Ассемблер GAS

GAS - это сокращение от GNU Assembler. Поскольку GAS был разработан для поддержки компиляторов Unix, он использует стандартный синтаксис AT&T, который несколько отличается от большинства ассемблеров, основанных на синтаксисе Intel. Ассемблер GAS включен в стандартный комплект операционных систем линеек Unixи Linux, и может быть запущен посредством утилиты GCC (GNU Compiler Collection ) или утилиты AS. Данная книга посвящена именно этому ассемблеру.

Послесловие (старое)

Книга, выдержку из которой я публикую, была частично написана еще лет 8 назад. И надо сказать идея этой книги была не слишком удачна. Я хотел в одной книге параллельно изложить основы программирования на платформе x86-64 одновременно и на Windows и на Linux. В качестве основного ассемблера был тогда взят FASM. Ну и хорошо, что я тогда эту книгу не издал. Теперь весь мой материал, который я публикую на этом канале, ориентирован только на Linux и ассемблер GAS.

Послесловие (новое)

Как я уже написал в начале статьи, я работаю над новой книгой под названием Ассемблер для Linux. Выше представлен один из параграфов этой книги. Отрывки из этой книги можно найти здесь. Книга посвящена ассемблеру GAS, ориентирована на процессоры x86-64 и операционную систему Linux.

--> Глава 1. Параграф 1.4. <-- Глава 1. Параграф 1.2.

Ассемблер на нашем канале Old Programmer продолжается. Подписывайтесь, ставьте лайки и комментируйте.

Assembler forever
Assembler forever