The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз набора компиляторов LLVM 15.0, opennews (?), 06-Сен-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


6. "Релиз набора компиляторов LLVM 15.0"  +2 +/
Сообщение от Аноним (6), 07-Сен-22, 04:16 
Мне вот надо чтобы clang на инлайн асме, с интел синтаксисом на использовании offset не крашился.
Ответить | Правка | Наверх | Cообщить модератору

17. "Релиз набора компиляторов LLVM 15.0"  +2 +/
Сообщение от Брат Анон (ok), 07-Сен-22, 09:01 
Интел-стайл контр-интуитивен. Особенно при косвенной адресации. Закопать.
Ответить | Правка | Наверх | Cообщить модератору

19. "Релиз набора компиляторов LLVM 15.0"  –2 +/
Сообщение от Аноним (19), 07-Сен-22, 09:30 
AT&T-синтаксис просто ужасен и для набор и для чтения. Его вообще не должно быть нигде от слова ВАЩЕСОВСЕМ.
Ответить | Правка | Наверх | Cообщить модератору

26. "Релиз набора компиляторов LLVM 15.0"  +1 +/
Сообщение от Аноним (26), 07-Сен-22, 10:29 
У тебя синдром утёнка.
Ответить | Правка | Наверх | Cообщить модератору

30. "Релиз набора компиляторов LLVM 15.0"  +8 +/
Сообщение от Аноним (30), 07-Сен-22, 11:09 
У тебя Даннинг-Крюгер.
Ответить | Правка | Наверх | Cообщить модератору

68. "Релиз набора компиляторов LLVM 15.0"  +3 +/
Сообщение от lucentcode (ok), 07-Сен-22, 21:01 
> AT&T-синтаксис просто ужасен и для набор и для чтения. Его вообще не
> должно быть нигде от слова ВАЩЕСОВСЕМ.

Не, норм. Не привычно после TASM/MASM/Fasm/Nasm/RosAsm и что там ещё юзал в молодости, уже не вспомню... Но, когда углубляешься в вопрос, и узнаешь что изначатльно синтаксис gas пилили не для Intel, а для других, более старых и экзотических, архитектур, и что в AT&T синтаксисе gas красиво унифицировали приёмы написания программ для разных машинных архитектур(отсюда и странный для Intel порядок аргументов при присваивани, так как у разных ассемблеров он разный был, делали так, как было бы удобно программисту более высокоуровневого ЯП, вроде C), коих у gas кроме x86/x86_64 хватает, и что изучив один раз хорошо gas именно с AT&T, а потом при освоении новых чипов изучая только набор их инструкций и опкодов и небольшие нюансы, вы примерно в одном и том же стиле с одним инструментом сможете писать на asm под кучу архитектур. Не меняя свои привычки :) И вот ради этого стоит, ломая себя через колено, приучать свой ленивый мозг к AT&T, и не зариться на архитектуро-специфичные ассемблеры, созданные только под одну архитектуру. Да, нож или ложка по отдельности могут быть удобней мультитула в чём-то. И весить меньше, и более эргономическую ручку иметь, и т.п. Но, у мультитула есть свой козырь в рукаве: универсальность. Вам она не нужна, поэтому вам и AT&T синтаксис не зашёл. А была бы нужна, оценили бы единный подход к организации написания кода под разные платформы с помощью одного инструмента, а не россыпи разных, специфичных только для своей архитектуры.

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

83. "Релиз набора компиляторов LLVM 15.0"  –1 +/
Сообщение от Аноним (83), 08-Сен-22, 13:27 
>так, как было бы удобно программисту более высокоуровневого ЯП, вроде C

Правда? Как там в AT&T записывается eax = ecx ? В Intel mov eax, ecx.

>а потом при освоении новых чипов изучая только набор их инструкций и
>опкодов и небольшие нюансы, вы примерно в одном и том же стиле с одним
>инструментом сможете писать на asm под кучу архитектур

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

>Но, у мультитула есть свой козырь в рукаве: универсальность

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

Ответить | Правка | Наверх | Cообщить модератору

112. "Релиз набора компиляторов LLVM 15.0"  +/
Сообщение от lucentcode (ok), 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 на такое способен.


Ответить | Правка | Наверх | Cообщить модератору

69. "Релиз набора компиляторов LLVM 15.0"  +/
Сообщение от Ванёк (?), 07-Сен-22, 21:54 
Да пофиг на синтаксис. Ассемблер очень мало, когда реально нужен, если только вы не занимаетесь дизассемблированием))
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

76. "Релиз набора компиляторов LLVM 15.0"  +/
Сообщение от Аноним (76), 08-Сен-22, 10:53 
Чувство прекрасного против.
Ответить | Правка | Наверх | Cообщить модератору

86. "Релиз набора компиляторов LLVM 15.0"  +1 +/
Сообщение от Брат Анон (ok), 08-Сен-22, 13:45 
> AT&T-синтаксис просто ужасен и для набор и для чтения. Его вообще не
> должно быть нигде от слова ВАЩЕСОВСЕМ.

Уж точно лучше, чем интелловский. Если этот не должен существовать, тогда всех интелловцев вообще надо сжечь (не призывы к терроризму, не разжигание социальной ненависти).

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

25. "Релиз набора компиляторов LLVM 15.0"  +/
Сообщение от n00by (ok), 07-Сен-22, 10:10 
> Интел-стайл контр-интуитивен. Особенно при косвенной адресации. Закопать.

Интел не регламентирует синтаксис. offset - это Microsoft. Есть синтаксисы (Borland ideal, fasm), где приняты [] как и в Си.

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

47. "Релиз набора компиляторов LLVM 15.0"  +1 +/
Сообщение от Аноним (44), 07-Сен-22, 12:51 
Ага, а когда присваеваемое слева, а куда присваивают справа - нонсенс же.
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

59. "Релиз набора компиляторов LLVM 15.0"  –2 +/
Сообщение от Ванёк (?), 07-Сен-22, 17:19 
А на неинтел синтаксисе всё норм?
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

87. "Релиз набора компиляторов LLVM 15.0"  +2 +/
Сообщение от Брат Анон (ok), 08-Сен-22, 13:48 
> А на неинтел синтаксисе всё норм?

Не всё. Но интел существенно хуже.
mov eax, ebx -- попробуйте здесь догадаться откуда куда тут передаётся содержимое? Вы книгу также зигзагом читаете? Это я ещё режимов адресации не касался.

Ответить | Правка | Наверх | Cообщить модератору

90. "Релиз набора компиляторов LLVM 15.0"  –1 +/
Сообщение от Ванёк (?), 08-Сен-22, 18:33 
Смесь английского с ивритом???
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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