Assembler для Linux и его особенности

Все о программировании под *nix
Raiser
Увлекающийся
Сообщения: 90
Зарегистрирован: 01 мар 2004, 20:05
Откуда: г. Брест
Контактная информация:

Assembler для Linux и его особенности

Сообщение Raiser »

Народ, подскажите, где скачать компилятор asm'a для Linux. Или он есть сразу в дистрибутивах..?
На зеркало неча пенять, коль рожа крива.

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

nrg_flavour, ну я думаю что в комплекте с gcc есть.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Raiser
Увлекающийся
Сообщения: 90
Зарегистрирован: 01 мар 2004, 20:05
Откуда: г. Брест
Контактная информация:

Сообщение Raiser »

И компилироваться должно как обычно: не важно, на каком языке написано?
т.е. $ gcc [] <>.asm ? -- так что-ли?
На зеркало неча пенять, коль рожа крива.

Raiser
Увлекающийся
Сообщения: 90
Зарегистрирован: 01 мар 2004, 20:05
Откуда: г. Брест
Контактная информация:

Сообщение Raiser »

...И, вообще, будут ли они *.asm ???
На зеркало неча пенять, коль рожа крива.

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

nrg_flavour, gcc = gnu compiller collection. Для работы его требуется пакет binutil - в нем есть

Код: Выделить всё

AS(1)                              GNU Development Tools                             AS(1)
 
NAME
       AS - the portable GNU assembler.
 
Опыт растет прямо пропорционально выведенному из строя оборудованию

Raiser
Увлекающийся
Сообщения: 90
Зарегистрирован: 01 мар 2004, 20:05
Откуда: г. Брест
Контактная информация:

Сообщение Raiser »

Спасибо.
Тогда ещё один вопрос: где можно найти инфо по gcc (ключи, поддерживаемые языки и т.п.) ? Киньте ссылку.
На зеркало неча пенять, коль рожа крива.

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

nrg_flavour,
/usr/share/doc
man info
ессно желательно ставить пакеты с документацией...
Опыт растет прямо пропорционально выведенному из строя оборудованию

Гость

Сообщение Гость »

на nix принято расширение .s и .S для ассемблерных
файлов. Если подсунуть такой файл gcc он будет ассемблировать.
После прочтения info (рекомендую обратить внимание на
опцию -masm) попробуй gcc -S на какой нибудь C'шной
программе.

Тебя так же может заинтересовать nasm.

Кроме того в коллекции HOWTO был и по асму.

Гость

Сообщение Гость »

Рад, что тема привлекла внимание.
Все советы приму к сведению. Чувствую себя хуже ламера!

Аватара пользователя
kostaLom
Маньяк
Сообщения: 170
Зарегистрирован: 24 авг 2002, 14:14
Откуда: 9-й Отдел
Контактная информация:

Сообщение kostaLom »

По-моему синтаксис у as и nasm отличаются: у кого-то intel'овский, у кого-то at&t

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

В целом всё уже достаточно подробно описано выше. От себя могу добавить, что gcc способен компилировать и ассемблерный код. Но nasm поддерживает intelоподобный синтаксис, а gcc AT&Tишный. Кроме того можно воспользоваться as86 из binutils.

С уважением Afi
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

имею учебник по программированию на сабже под линух - pdf, english
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

А сколько весит? На мыло его швырнуть низя? (Если можно, то с радостью словлю)
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Аватара пользователя
imp3
Интересующийся
Сообщения: 67
Зарегистрирован: 01 дек 2003, 16:06
Откуда: Минск

Сообщение imp3 »

Llama писал(а):имею учебник по программированию на сабже под линух - pdf, english
И мне, и мне, и того и другого, и можно без хлеба.

Гость

Сообщение Гость »

Скиньте или дайте ссылку учебника для асма под линукс. пожалуста.
ab_fatal@mail.ru


И для тех кто интересовался компилятором:
пишешь код в текстовом редакторе, далее
Все что я пишу относится только к синтаксису AT&T (в другом синтаксисе, т.е. писать под Linux просто глупо, т.к. все исходники в Linux c расширением *.s (можете поискать по поиску в каталоге /usr) написаны в синтаксисе AT&T. И если вы будете писать в синтаксисе Intel то вы там ничерта не разберете)

gcc -g -o name2 name1.s ключ -g для отладки в DBG (DDD)
gcc -o name2 name1.s не для отлаки
gcc -s name1.s вроде ключ -s или -c это получение объектного файла

при данной компиляции в коде должна быть функция main как в Си и она должна быть видна компоновщику, т.е.

.text //секция код
.globl main */делаем видимой для всех модулей и для компоновщика*/

main:
пиши код
.data// секция данных

далее

as -0 name2.o name1.s
ld -s -o name3

это чисто для ассемблера, есть одно но. Главная функции здесь должна быть обязательно _start, т.е
.text
.globl _start
_start:
...


Я тоже начинающий ассемберовщик под *inux системы, будем разбираться дальше.
Если кто знает хороший отладчки для асма или как в DBG(DDD) просматривать память напишите. Я знаю как отлаживать в (DBG)DDD встроеном отладчике, но там нельзя просматривать дампы памяти и это очень плохо.


Для расширения кругозора
AT&T American Telephone and Telegraph
C уважением, Александр.

Ответить