DevProg: Блог для программистов

Секреты программирования. Примеры разработки. Обзоры программёрского софта, блогов и форумов и просто полезные советы!

Ассемблеры для Linux: Сравнение GAS и NASM

Опубликовал devprog на Октябрь 24, 2008

Сегодня, уже собираясь ложиться спать и видеть хорошие, добрые сны, наткнулся (совершенно случайно) на очень интересную статью. В чём отличия ассемблеров GAS и NASM? Вот вы знаете? И я не знаю. Так давайте прочитаем!!!

Вырезка из статьи:

В этой статье объясняются некоторые наиболее важные синтаксические и семантические различия двух самых популярных ассемблеров для Linux® – GNU Assembler (GAS) и Netwide Assembler (NASM), а также различия в базовом синтаксисе, переменных и доступе к памяти, обработке макросов, функциях и внешних подпрограммах, работе со стеком и методиках простого повторения блоков кода.

В этой статье описываются:

  • Основные синтаксические различия NASM и GAS
  • Общие конструкции на уровне ассемблера, такие как переменные, циклы, метки и макросы
  • Немного о вызове внешних подпрограмм на C и использовании функций
  • Использование и различия мнемоник ассемблера
  • Методы адресации памяти

В этой статье не рассматриваются:

  • Различные виды макросов и компоненты, специфичные для того или иного ассемблера
  • Директивы ассемблера, характерные только для NASM либо GAS
  • Возможности, не являющиеся широко употребительными, или имеющиеся в одном ассемблере и отсутствующие в другом

Ну что-ж, не буду вас томить, читайте на здоровье: Ассемблеры для Linux: Сравнение GAS и NASM

Один ответ к “Ассемблеры для Linux: Сравнение GAS и NASM”

  1. Steh сказал

    Весьма интересно, но Линукс ставить не решаюсь много времени потрачу на освоение, а так – безопасная и полностью подконтрольная система. И книг про нее много. в смысле литературы и справочиков. и софт бесплатный. Но, увы, нет нужды, и стереотипы.

Ответить

XHTML: Вы можете использовать эти метки: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>