The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз набора компиляторов LLVM 15.0"
Отправлено lucentcode, 10-Сен-22 13:13 
> Правда? Как там в AT&T записывается eax = ecx ? В Intel
> mov eax, ecx.

Когда вы чему-то присваиваете какое-то значение с помощью команды mov(move по сути), логично было бы указать что вы перемещаете, и куда. А не наоборот. Но, это чистой воды вкусовщина. Если к вам придёт грузчик, и вам нужно будет сказать чтобы он отнёс коробку в машину, вы можете ему велеть отнести коробку в машину, или в машину коробку — он вам поймёт в любом случае. Так и тут, когда известно, в каком порядке конкретный синтаксис велит указать что и куда двигать, какая разница какой это порядок, когда главное — результат? Но, для меня лично порядок что двигать, а потом куда — более интуитивно понятный.


> И поэтому в gcc есть куча костылей, чтобы ассемблер не использовать никогда.
> Даже если пишешь архитектурно-зависимые вещи. Похоже даже разработчики gcc ненавидят GAS.

GAS есть в ядре Linux, в коде syscall trap от Линуса, к примеру. Что-то видел в glibc(там хватает ассемблерного кода и вставками, и в отдельных файлах). И да, там GAS именно с AT&T синтаксисом(а то он и Intel умеет, и даже кое-какие MASM-специфичные вещи в него запихнули, видел поддержку стандартных для MASM макросов в одном проекте на GAS). А ещё в некоторых мультемедийных либах видел его же(знаю, что в этой сфере много любителей Nasm, но бывают исключения).

> Что может быть универсальнее fasm ? Это зло вообще всё с помощью
> макросов делает. Другой вопрос, что он появился поздно, когда даже микроконтроллеры
> перестали программировать на Ассемблере. Но на нём хотя бы пишут энтузиасты,
> а кто и что пишет на GAS ? Даже OpenSSL злоупотребляющий
> Ассемблером не пишут на GAS, а на своём универсальном perl-Ассемблере, который
> можно транслировать хоть в MASM, хоть в GAS... и да, у
> них интеловский порядок регистров.

О да, помню я макросы для удобного вызова функций WinAPI на Fasm. Макросы у него хороши. Но, у GAS, внезапно, макросы тоже очень неплохи. Мало кто их расковырял и юзает, но они есть. А насчёт универсальности: fasm — это только x86 и x86_64, о какой универсальности идёт речь у него? А GAS - это ARM, RISCV, x86 и x86_64, MIPS и куча других архитектур(включая разные чипы motorolla полувековой давности и прочие довольно редкие игрушки для любителей низкого уровня). Fasm точно не позволит вам примерно в одном стиле писать и под Intel, и под ARM с RISCV. А GAS на такое способен.


 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру