169 похожих чатов

@FAssembler не знаешь, fasm поддерживает thumb?

46 ответов

75 просмотров

Это что?

КТ315
Это что?

Набор инструкций, например на STM32 используется

Наверно только в fasmg что-то такое есть.

в gas вроде есть

владик
в gas вроде есть

В gas точно есть, но в gas нет макросов особо

Александр Белокопытов
В gas точно есть, но в gas нет макросов особо

Если в вашем ассемблере нет макросов, то даже не зовите меня в этот лоу-левел

The Bird of Hermes
Если в вашем ассемблере нет макросов, то даже не з...

Я ошибся, они там есть, но вроде куда хуже, чем в fasm

Marek Kotovsky
Сегрегация? Асм для белых?😊

Стандарты современных компиляторов должны быть высокими)

The Bird of Hermes
Стандарты современных компиляторов должны быть выс...

Зачем в gas макросы, если он используется в "с" как backend?

Marek Kotovsky
Зачем в gas макросы, если он используется в "с" ка...

Например если нужно использовать его напрямую. Вот походу под Thumb2 придётся использовать именно его...

КТ315
Зачем, если можно FASM?

Так там есть поддержка thumb2 или нет? Или есть в виде расширения?

Александр Белокопытов
Так там есть поддержка thumb2 или нет? Или есть в ...

В виде .inc можно добавить макросами, либо в FASMARM, вроде, есть.

Александр Белокопытов
Например если нужно использовать его напрямую. Вот...

У каждой вещи есть свое предназначение. Вот у задницы - предназначение - делать дефекацию. И не стоит у этой задницы искать другие применения.

The Bird of Hermes
В смысле как бэкенд?

На С весь код, а на GAS несколько строчек какой-то ерунды, для оптимизации, или для узких мест. Всё полностью верно, для этого GAS и создан - его использовать только совместно с С, иначе он бы не был вшит в С-компилятор.

КТ315
Они там и не нужны.

Ну допустим я хочу сделать функцию с переменным количеством аргументов и чтобы первым аргументом было количество. И вот мне на помощь придет макрос, избавляющий от необходимости их считать

The Bird of Hermes
Ну допустим я хочу сделать функцию с переменным ко...

В С это без макросов делается, посмотри как там printf реализован.

The Bird of Hermes
Так в С макросы отстой

Си выживает благодаря тому что он консервативен и практически не меняется лет 50. Ему есть модные аналоги, но вряд-ли они будут поддержаны в микроконтроллерах.

КТ315
В С это без макросов делается, посмотри как там pr...

В принтфе тебе надо все равно количество аргументов считать

fasmarm поддерживает thumb.

The Bird of Hermes
В принтфе тебе надо все равно количество аргументо...

Нет, там указывается что-то вроде int func(...), а внутри просто цикл уже по аргументам, и всё.

КТ315
Нет, там указывается что-то вроде int func(...), а...

В таком виде не заведётся, нужно хотя бы один аргумент, относительно которого оно будет адресоваться, и в котором по совместительству обычно лежит размер или другая информация об остальных.

КТ315
Нет, там указывается что-то вроде int func(...), а...

Я знаю, вот только количество аргументов не передаётся в таком случае

s54820
В таком виде не заведётся, нужно хотя бы один аргу...

А, ну да. Там через функцию va_start. Собственно, вот и минус С - там всё через внешние функции, и остаётся молиться на компилятор, чтобы он эти функции мог завернуть в нативные элементарные пару инструкций.

Александр Белокопытов
Набор инструкций

и чем он так примечателен? почему его так выделяют? а если выделяют, то есть что то иное.

КТ315
А, ну да. Там через функцию va_start. Собственно, ...

Там ещё и какой-то va_end для очистки памяти. Он память что-ли выделяет? В ассемблере это был бы тупо цикл по стеку.

Aiwan \ (•◡•) / _bot
и чем он так примечателен? почему его так выделяю...

Да ничем особенно, просто это набор инструкций, используемый на микроконтроллерах Cortex-M

КТ315
А, ну да. Там через функцию va_start. Собственно, ...

А это не функция. Это макрос встроенный, он разворачивается в адресную арифметику, то есть в мовы и адды. Буквально mov eax,[base+counter+4]; counter += 4. Но это пока у тебя не регистры в 64-битной конвенции. Вот в 64-битах там боль. Но ты на асме тоже не сможешь магически регистры по индексу выбирать. va_end это потому что люди думали не только про x86. В каких-то архитектурах может понадобиться очистка, корректировка стека или ещё что-то. В x86 оно ничего не делает.

КТ315
Там ещё и какой-то va_end для очистки памяти. Он п...

Привет, что ты там говорил про обфускатор?

s54820
А это не функция. Это макрос встроенный, он развор...

Кстати, в x86_64 на ассемблере могу без выделения. Самомодифицирующийся код, в котором цикл добавляет индекс регистра к инструкции mov, а затем второй цикл уже по стеку.

КТ315
Когда, где, кто?

Ты рассказывал, что это интересные проект, тогда я его испугался, но сейчас решил попробовать

КТ315
Кстати, в x86_64 на ассемблере могу без выделения....

И тут к тебе приходит форматная строка %d %f %d, и тебе нужно ползти в xmm. Ну и SMC это удар по производительности. И ещё отсутствие реентерабельности.

КТ315
Пробуй.

А как он выглядит

s54820
И тут к тебе приходит форматная строка %d %f %d, и...

С XMM это да... Но можно выкрутиться. А вот про производительность интересно - что лучше - SMC, или выделение памяти и туда данные копировать.

КТ315
С XMM это да... Но можно выкрутиться. А вот про пр...

Там не должно быть выделения памяти, можно ведь массив на стеке. Относительно дорогое только копирование.

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
62
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
4
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
13
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
А кто-нибудь запихивал сборку перловых модулей/образов с perl приложениями в окружения без интернета (в специализированном CI/CD)? У меня сейчас есть ряд cpanfile, которые н...
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
14
Кстати а покупал кто-нибудь ЭЦП для подписи кода? А то у меня на некоторых компах и ОС иногда SmartScreen винды программу за вирус принимал. Если купить такую ЭЦП и подписыват...
Дмитрий Завгородний
15
Карта сайта