Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт дек 13, 2024 13:46:38
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4659973#p4659973"]
(про себя скажу, что писала на чистом асме в четвертой авр-студии, когда изучала архитектуру АВРок. Потом уже седьмая студия и ассемблерные вставки в Си. На голом асме давно не пишу.)[/uquote]да, плюшки.
Когда-то я был озабочен созданием макроса для сохранения в стеке списка регистров и восстановления их потом оттуда.
Как-то так:
ENTER R6,R11,R24
...
LEAVE
Не всех подряд, а именно списка нужных. Достаточно полезный макрос, согласны? В 51ом асме это реализуется, пусть не просто, но... А в avrasm это попросту невозможно. Кстати, как ни странно, но подобное невозможно и средствами препроцессора Си! Однако, as (gnu as) справляется так же и тем же способом, что и старичок 51й...
Добавлено after 1 minute 50 seconds:
[uquote="BOB51",url="/forum/viewtopic.php?p=4660005#p4660005"]Если уж быть корректным то не "ассемблеры",
а компиляторы ассемблера...
[/uquote]
Вообще-то как таковой ассемблер именно как компилятор (точнее, транслятор) и следует воспринимать. Де-факто сам язык есть лишь мнемоники команд, т.е. аналоги машинных слов.
Роман, простите мою глупость, но как могут отличаться ассемблеры для одной платформы? Система ж команд одинаковая... Или вы имеете ввиду мощность и плюшки препроцессора?ARV писал(а):Avrasm настолько убогое говнище, что я вообще не понимаю, зачем его использовать, если есть avr-as, часть тулчейна avr-gcc. ... Гнутый асм ничем не хуже, уверяю вас!
(про себя скажу, что писала на чистом асме в четвертой авр-студии, когда изучала архитектуру АВРок. Потом уже седьмая студия и ассемблерные вставки в Си. На голом асме давно не пишу.)[/uquote]да, плюшки.
Когда-то я был озабочен созданием макроса для сохранения в стеке списка регистров и восстановления их потом оттуда.
Как-то так:
ENTER R6,R11,R24
...
LEAVE
Не всех подряд, а именно списка нужных. Достаточно полезный макрос, согласны? В 51ом асме это реализуется, пусть не просто, но... А в avrasm это попросту невозможно. Кстати, как ни странно, но подобное невозможно и средствами препроцессора Си! Однако, as (gnu as) справляется так же и тем же способом, что и старичок 51й...
Добавлено after 1 minute 50 seconds:
[uquote="BOB51",url="/forum/viewtopic.php?p=4660005#p4660005"]Если уж быть корректным то не "ассемблеры",
а компиляторы ассемблера...
Вообще-то как таковой ассемблер именно как компилятор (точнее, транслятор) и следует воспринимать. Де-факто сам язык есть лишь мнемоники команд, т.е. аналоги машинных слов.